diff --git a/src/builtins.ts b/src/builtins.ts index 50a79d2b..1211a56a 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -56,7 +56,9 @@ import { FunctionPrototype, Field, Global, - DecoratorFlags + DecoratorFlags, + RuntimeFlags, + Program } from "./program"; import { @@ -479,10 +481,11 @@ export namespace BuiltinSymbols { // std/runtime.ts export const runtime_id = "~lib/runtime/__runtime_id"; export const runtime_instanceof = "~lib/runtime/__runtime_instanceof"; - export const runtime_allocate = "~lib/runtime/runtime.allocate"; - export const runtime_reallocate = "~lib/runtime/runtime.reallocate"; - export const runtime_register = "~lib/runtime/runtime.register"; - export const runtime_discard = "~lib/runtime/runtime.discard"; + export const runtime_flags = "~lib/runtime/__runtime_flags"; + export const runtime_allocate = "~lib/util/runtime/allocate"; + export const runtime_reallocate = "~lib/util/runtime/reallocate"; + export const runtime_register = "~lib/util/runtime/register"; + export const runtime_discard = "~lib/util/runtime/discard"; export const runtime_newArray = "~lib/runtime/runtime.newArray"; export const gc_mark_roots = "~lib/runtime/__gc_mark_roots"; export const gc_mark_members = "~lib/runtime/__gc_mark_members"; @@ -3655,15 +3658,28 @@ export function compileCall( checkTypeAbsent(typeArguments, reportNode, prototype) | checkArgsRequired(operands, 2, reportNode, compiler) ) { - compiler.currentType = Type.void; + compiler.currentType = Type.bool; return module.createUnreachable(); } let arg0 = compiler.compileExpression(operands[0], Type.u32, ConversionKind.IMPLICIT, WrapMode.NONE); let arg1 = compiler.compileExpression(operands[1], Type.u32, ConversionKind.IMPLICIT, WrapMode.NONE); - compiler.needsInstanceOf = true; + compiler.needsRuntimeInstanceOf = true; compiler.currentType = Type.bool; return module.createCall(BuiltinSymbols.runtime_instanceof, [ arg0, arg1 ], NativeType.I32); } + case BuiltinSymbols.runtime_flags: { + if ( + checkTypeAbsent(typeArguments, reportNode, prototype) | + checkArgsRequired(operands, 1, reportNode, compiler) + ) { + compiler.currentType = Type.i32; + return module.createUnreachable(); + } + let arg0 = compiler.compileExpression(operands[0], Type.u32, ConversionKind.IMPLICIT, WrapMode.NONE); + compiler.needsRuntimeFlags = true; + compiler.currentType = Type.i32; + return module.createCall(BuiltinSymbols.runtime_flags, [ arg0 ], NativeType.I32); + } case BuiltinSymbols.gc_mark_roots: { if ( checkTypeAbsent(typeArguments, reportNode, prototype) | @@ -3672,7 +3688,7 @@ export function compileCall( compiler.currentType = Type.void; return module.createUnreachable(); } - compiler.needsMark = true; + compiler.needsGcMark = true; compiler.currentType = Type.void; return module.createCall(BuiltinSymbols.gc_mark_roots, null, NativeType.None); } @@ -3686,7 +3702,7 @@ export function compileCall( } let arg0 = compiler.compileExpression(operands[0], Type.u32, ConversionKind.IMPLICIT, WrapMode.NONE); let arg1 = compiler.compileExpression(operands[1], compiler.options.usizeType, ConversionKind.IMPLICIT, WrapMode.NONE); - compiler.needsMark = true; + compiler.needsGcMark = true; compiler.currentType = Type.void; return module.createCall(BuiltinSymbols.gc_mark_members, [ arg0, arg1 ], NativeType.None); } @@ -4235,7 +4251,7 @@ export function compileMarkMembers(compiler: Compiler): void { } /** Compiles the `__runtime_instanceof` function. */ -export function compileInstanceOf(compiler: Compiler): void { +export function compileRuntimeInstanceOf(compiler: Compiler): void { var program = compiler.program; var module = compiler.module; var managedClasses = program.managedClasses; @@ -4268,7 +4284,10 @@ export function compileInstanceOf(compiler: Compiler): void { var names: string[] = [ "nope" ]; var blocks = new Array(); + var lastId = 0; + for (let [id, instance] of managedClasses) { + assert(id == ++lastId); names.push(instance.internalName); let condition = module.createBinary(BinaryOp.EqI32, module.createGetLocal(1, NativeType.I32), @@ -4309,6 +4328,68 @@ export function compileInstanceOf(compiler: Compiler): void { module.addFunction(BuiltinSymbols.runtime_instanceof, ftype, null, current); } +function typeToRuntimeFlags(type: Type, program: Program): RuntimeFlags { + var flags = RuntimeFlags.VALUE_ALIGN_0 * (1 << type.alignLog2); + if (type.is(TypeFlags.NULLABLE)) flags |= RuntimeFlags.VALUE_NULLABLE; + if (type.isManaged(program)) flags |= RuntimeFlags.VALUE_MANAGED; + return flags / RuntimeFlags.VALUE_ALIGN_0; +} + +/** Compiles the `__runtime_flags` function. */ +export function compileRuntimeFlags(compiler: Compiler): void { + var program = compiler.program; + var module = compiler.module; + var managedClasses = program.managedClasses; + var ftype = compiler.ensureFunctionType([ Type.i32 ], Type.i32); // $0 -> i32 + var names: string[] = [ "invalid" ]; + var blocks = new Array(); + var lastId = 0; + + for (let [id, instance] of managedClasses) { + assert(id == ++lastId); + names.push(instance.internalName); + let flags: RuntimeFlags = 0; + if (instance.prototype.extends(program.arrayPrototype)) { + let typeArguments = assert(instance.typeArguments); + assert(typeArguments.length == 1); + flags |= RuntimeFlags.ARRAY; + flags |= RuntimeFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); + } else if (instance.prototype.extends(program.setPrototype)) { + let typeArguments = assert(instance.typeArguments); + assert(typeArguments.length == 1); + flags |= RuntimeFlags.SET; + flags |= RuntimeFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); + } else if (instance.prototype.extends(program.mapPrototype)) { + let typeArguments = assert(instance.typeArguments); + assert(typeArguments.length == 2); + flags |= RuntimeFlags.MAP; + flags |= RuntimeFlags.KEY_ALIGN_0 * typeToRuntimeFlags(typeArguments[0], program); + flags |= RuntimeFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[1], program); + } + blocks.push([ + module.createReturn(module.createI32(flags)) + ]); + } + + var current: ExpressionRef; + if (blocks.length) { + current = module.createBlock(names[1], [ + module.createSwitch(names, "invalid", module.createGetLocal(0, NativeType.I32)) + ]); + for (let i = 0, k = blocks.length; i < k; ++i) { + blocks[i].unshift(current); + current = module.createBlock(i == k - 1 ? "invalid" : names[i + 2], blocks[i]); + } + current = module.createBlock(null, [ + current, + module.createUnreachable() + ]); + } else { + current = module.createUnreachable(); + } + module.addFunction(BuiltinSymbols.runtime_flags, ftype, null, current); +} + // Helpers /** Evaluates the constant type of a type argument *or* expression. */ diff --git a/src/common.ts b/src/common.ts index 80846fad..7c4e049b 100644 --- a/src/common.ts +++ b/src/common.ts @@ -172,6 +172,8 @@ export namespace CommonSymbols { export const String = "String"; export const Array = "Array"; export const FixedArray = "FixedArray"; + export const Set = "Set"; + export const Map = "Map"; export const ArrayBufferView = "ArrayBufferView"; export const ArrayBuffer = "ArrayBuffer"; export const Math = "Math"; diff --git a/src/compiler.ts b/src/compiler.ts index 9ef2de2c..27d1e5ac 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -8,8 +8,9 @@ import { compileAbort, compileMarkRoots, compileMarkMembers, - compileInstanceOf, - BuiltinSymbols + compileRuntimeInstanceOf, + compileRuntimeFlags, + BuiltinSymbols, } from "./builtins"; import { @@ -312,9 +313,11 @@ export class Compiler extends DiagnosticEmitter { /** Argument count helper setter. */ argcSet: FunctionRef = 0; /** Indicates whether the __gc_mark_* functions must be generated. */ - needsMark: bool = false; + needsGcMark: bool = false; /** Indicates whether the __runtime_instanceof function must be generated. */ - needsInstanceOf: bool = false; + needsRuntimeInstanceOf: bool = false; + /** Indicates whether the __runtime_flags function must be generated. */ + needsRuntimeFlags: bool = false; /** Compiles a {@link Program} to a {@link Module} using the specified options. */ static compile(program: Program, options: Options | null = null): Module { @@ -397,15 +400,14 @@ export class Compiler extends DiagnosticEmitter { } // compile gc features if utilized - if (this.needsMark) { + if (this.needsGcMark) { compileMarkRoots(this); compileMarkMembers(this); } // compile runtime features if utilized - if (this.needsInstanceOf) { - compileInstanceOf(this); - } + if (this.needsRuntimeInstanceOf) compileRuntimeInstanceOf(this); + if (this.needsRuntimeFlags) compileRuntimeFlags(this); // update the heap base pointer var memoryOffset = this.memoryOffset; @@ -464,7 +466,7 @@ export class Compiler extends DiagnosticEmitter { 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"); + module.addGlobalExport(BuiltinSymbols.capabilities, "$.capabilities"); } return module; } @@ -6085,7 +6087,7 @@ export class Compiler extends DiagnosticEmitter { module.createGetLocal(0, NativeType.I32) ) ); - module.addFunctionExport(BuiltinSymbols.setargc, ".setargc"); + module.addFunctionExport(BuiltinSymbols.setargc, "$.setArgc"); } return BuiltinSymbols.setargc; } @@ -6718,11 +6720,11 @@ export class Compiler extends DiagnosticEmitter { // upcast - check dynamically if (expectedType.isAssignableTo(actualType)) { let program = this.program; - this.needsInstanceOf = true; + this.needsRuntimeInstanceOf = true; if (!(actualType.isUnmanaged || expectedType.isUnmanaged)) { let flow = this.currentFlow; let tempLocal = flow.getAndFreeTempLocal(actualType, false); - this.needsInstanceOf = true; + this.needsRuntimeInstanceOf = true; return module.createIf( module.createUnary( nativeSizeType == NativeType.I64 @@ -6769,7 +6771,7 @@ export class Compiler extends DiagnosticEmitter { // uninitialized (thus zero) `var a: A` to be an instance of something. let flow = this.currentFlow; let tempLocal = flow.getAndFreeTempLocal(actualType, false); - this.needsInstanceOf = true; + this.needsRuntimeInstanceOf = true; return module.createIf( module.createUnary( nativeSizeType == NativeType.I64 diff --git a/src/program.ts b/src/program.ts index a3ba8f39..062ec9be 100644 --- a/src/program.ts +++ b/src/program.ts @@ -316,6 +316,45 @@ export enum CollectorKind { COUNTING } +/** Runtime flags. */ +export const enum RuntimeFlags { // keep in sync with std/runtime.ts + NONE = 0, + /** Type is an `Array`. */ + ARRAY = 1 << 0, + /** Type is a `Set`. */ + SET = 1 << 1, + /** Type is a `Map`. */ + MAP = 1 << 2, + /** Value alignment of 1 byte. */ + VALUE_ALIGN_0 = 1 << 3, + /** Value alignment of 2 bytes. */ + VALUE_ALIGN_1 = 1 << 4, + /** Value alignment of 4 bytes. */ + VALUE_ALIGN_2 = 1 << 5, + /** Value alignment of 8 bytes. */ + VALUE_ALIGN_3 = 1 << 6, + /** Value alignment of 16 bytes. */ + VALUE_ALIGN_4 = 1 << 7, + /** Value type is nullable. */ + VALUE_NULLABLE = 1 << 8, + /** Value type is managed. */ + VALUE_MANAGED = 1 << 9, + /** Key alignment of 1 byte. */ + KEY_ALIGN_0 = 1 << 10, + /** Key alignment of 2 bytes. */ + KEY_ALIGN_1 = 1 << 11, + /** Key alignment of 4 bytes. */ + KEY_ALIGN_2 = 1 << 12, + /** Key alignment of 8 bytes. */ + KEY_ALIGN_3 = 1 << 13, + /** Key alignment of 16 bytes. */ + KEY_ALIGN_4 = 1 << 14, + /** Key type is nullable. */ + KEY_NULLABLE = 1 << 15, + /** Key type is managed. */ + KEY_MANAGED = 1 << 16 +} + /** Represents an AssemblyScript program. */ export class Program extends DiagnosticEmitter { @@ -357,6 +396,10 @@ export class Program extends DiagnosticEmitter { arrayBufferInstance: Class | null = null; /** Array prototype reference. */ arrayPrototype: ClassPrototype | null = null; + /** Set prototype reference. */ + setPrototype: ClassPrototype | null = null; + /** Map prototype reference. */ + mapPrototype: ClassPrototype | null = null; /** Fixed array prototype reference. */ fixedArrayPrototype: ClassPrototype | null = null; /** String instance reference. */ @@ -820,6 +863,14 @@ export class Program extends DiagnosticEmitter { assert(element.kind == ElementKind.CLASS_PROTOTYPE); this.fixedArrayPrototype = element; } + if (element = this.lookupGlobal(CommonSymbols.Set)) { + assert(element.kind == ElementKind.CLASS_PROTOTYPE); + this.setPrototype = element; + } + if (element = this.lookupGlobal(CommonSymbols.Map)) { + assert(element.kind == ElementKind.CLASS_PROTOTYPE); + this.mapPrototype = element; + } if (element = this.lookupGlobal(CommonSymbols.abort)) { assert(element.kind == ElementKind.FUNCTION_PROTOTYPE); this.abortInstance = this.resolver.resolveFunction(element, null); diff --git a/std/assembly/array.ts b/std/assembly/array.ts index 2af424d4..651dc472 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -1,6 +1,6 @@ /// -import { MAX_BYTELENGTH, reallocate } from "./util/runtime"; +import { MAX_BYTELENGTH, allocate, reallocate, discard, register } from "./util/runtime"; import { COMPARATOR, SORT } from "./util/sort"; import { runtime, __runtime_id, __gc_mark_members } from "./runtime"; import { ArrayBuffer, ArrayBufferView } from "./arraybuffer"; @@ -126,7 +126,7 @@ export class Array extends ArrayBufferView { if (isDefined(__ref_link)) { if (isDefined(__ref_unlink)) if (oldValue !== null) __ref_unlink(changetype(oldValue), changetype(this)); if (value !== null) __ref_link(changetype(value), changetype(this)); - } else if (__ref_retain) { + } else if (isDefined(__ref_retain)) { if (oldValue !== null) __ref_release(changetype(oldValue)); if (value !== null) __ref_retain(changetype(value)); } else assert(false); @@ -561,7 +561,7 @@ export class Array extends ArrayBufferView { var sepLen = separator.length; var valueLen = 5; // max possible length of element len("false") var estLen = (valueLen + sepLen) * lastIndex + valueLen; - var result = runtime.allocate(estLen << 1); + var result = allocate(estLen << 1); var offset = 0; var value: bool; for (let i = 0; i < lastIndex; ++i) { @@ -593,10 +593,10 @@ export class Array extends ArrayBufferView { if (estLen > offset) { let trimmed = changetype(result).substring(0, offset); - runtime.discard(result); + discard(result); return trimmed; // registered in .substring } - return changetype(runtime.register(result, __runtime_id())); + return changetype(register(result, __runtime_id())); } private join_int(separator: string = ","): string { @@ -609,7 +609,7 @@ export class Array extends ArrayBufferView { var sepLen = separator.length; const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned()); var estLen = (valueLen + sepLen) * lastIndex + valueLen; - var result = runtime.allocate(estLen << 1); + var result = allocate(estLen << 1); var offset = 0; var value: T; for (let i = 0; i < lastIndex; ++i) { @@ -630,10 +630,10 @@ export class Array extends ArrayBufferView { offset += itoa_stream(result, offset, value); if (estLen > offset) { let trimmed = changetype(result).substring(0, offset); - runtime.discard(result); + discard(result); return trimmed; // registered in .substring } - return changetype(runtime.register(result, __runtime_id())); + return changetype(register(result, __runtime_id())); } private join_flt(separator: string = ","): string { @@ -650,7 +650,7 @@ export class Array extends ArrayBufferView { const valueLen = MAX_DOUBLE_LENGTH; var sepLen = separator.length; var estLen = (valueLen + sepLen) * lastIndex + valueLen; - var result = runtime.allocate(estLen << 1); + var result = allocate(estLen << 1); var offset = 0; var value: T; for (let i = 0; i < lastIndex; ++i) { @@ -675,10 +675,10 @@ export class Array extends ArrayBufferView { ); if (estLen > offset) { let trimmed = changetype(result).substring(0, offset); - runtime.discard(result); + discard(result); return trimmed; // registered in .substring } - return changetype(runtime.register(result, __runtime_id())); + return changetype(register(result, __runtime_id())); } private join_str(separator: string = ","): string { @@ -695,7 +695,7 @@ export class Array extends ArrayBufferView { if (value !== null) estLen += value.length; } var offset = 0; - var result = runtime.allocate((estLen + sepLen * lastIndex) << 1); + var result = allocate((estLen + sepLen * lastIndex) << 1); for (let i = 0; i < lastIndex; ++i) { value = load(dataStart + (i << alignof())); if (value !== null) { @@ -724,7 +724,7 @@ export class Array extends ArrayBufferView { changetype(value).length << 1 ); } - return changetype(runtime.register(result, __runtime_id())); + return changetype(register(result, __runtime_id())); } private join_arr(separator: string = ","): string { @@ -761,7 +761,7 @@ export class Array extends ArrayBufferView { const valueLen = 15; // max possible length of element len("[object Object]") var sepLen = separator.length; var estLen = (valueLen + sepLen) * lastIndex + valueLen; - var result = runtime.allocate(estLen << 1); + var result = allocate(estLen << 1); var offset = 0; var value: T; for (let i = 0; i < lastIndex; ++i) { @@ -793,10 +793,10 @@ export class Array extends ArrayBufferView { } if (estLen > offset) { let out = changetype(result).substring(0, offset); - runtime.discard(result); + discard(result); return out; // registered in .substring } - return changetype(runtime.register(result, __runtime_id())); + return changetype(register(result, __runtime_id())); } toString(): string { diff --git a/std/assembly/arraybuffer.ts b/std/assembly/arraybuffer.ts index c186a5a4..fa44cc08 100644 --- a/std/assembly/arraybuffer.ts +++ b/std/assembly/arraybuffer.ts @@ -1,5 +1,5 @@ -import { HEADER, HEADER_SIZE, MAX_BYTELENGTH } from "./util/runtime"; -import { runtime, __runtime_id } from "./runtime"; +import { HEADER, HEADER_SIZE, MAX_BYTELENGTH, allocate, register } from "./util/runtime"; +import { __runtime_id } from "./runtime"; import { E_INVALIDLENGTH } from "./util/error"; export abstract class ArrayBufferView { @@ -52,9 +52,9 @@ export abstract class ArrayBufferView { constructor(length: i32) { if (length > MAX_BYTELENGTH) throw new RangeError(E_INVALIDLENGTH); - var buffer = runtime.allocate(length); + var buffer = allocate(length); memory.fill(changetype(buffer), 0, length); - return changetype(runtime.register(buffer, __runtime_id())); + return changetype(register(buffer, __runtime_id())); } get byteLength(): i32 { @@ -66,9 +66,9 @@ export abstract class ArrayBufferView { begin = begin < 0 ? max(length + begin, 0) : min(begin, length); end = end < 0 ? max(length + end , 0) : min(end , length); var outSize = max(end - begin, 0); - var out = runtime.allocate(outSize); + var out = allocate(outSize); memory.copy(out, changetype(this) + begin, outSize); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } toString(): string { diff --git a/std/assembly/collector/pure.ts b/std/assembly/collector/pure.ts index 32c80d11..8b977fcd 100644 --- a/std/assembly/collector/pure.ts +++ b/std/assembly/collector/pure.ts @@ -3,7 +3,7 @@ // After the paper by D. Bacon et al., 2001, IBM T.J. Watson Research Center // https://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon03Pure.pdf -import { HEADER, HEADER_SIZE } from "../runtime"; +import { HEADER_SIZE } from "../util/runtime"; ERROR("not implemented"); diff --git a/std/assembly/fixedarray.ts b/std/assembly/fixedarray.ts index 40463ad5..1c166ce8 100644 --- a/std/assembly/fixedarray.ts +++ b/std/assembly/fixedarray.ts @@ -1,5 +1,5 @@ -import { HEADER, HEADER_SIZE, MAX_BYTELENGTH } from "./util/runtime"; -import { runtime, __runtime_id, __gc_mark_members } from "./runtime"; +import { HEADER, HEADER_SIZE, MAX_BYTELENGTH, allocate, register } from "./util/runtime"; +import { __runtime_id, __gc_mark_members } from "./runtime"; import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; // NOTE: DO NOT USE YET! @@ -18,9 +18,9 @@ export class FixedArray { } } var outSize = length << alignof(); - var out = runtime.allocate(outSize); + var out = allocate(outSize); memory.fill(out, 0, outSize); - return changetype>(runtime.register(out, __runtime_id>())); + return changetype>(register(out, __runtime_id>())); } get length(): i32 { diff --git a/std/assembly/map.ts b/std/assembly/map.ts index 3dadd668..4d52a3d8 100644 --- a/std/assembly/map.ts +++ b/std/assembly/map.ts @@ -295,7 +295,7 @@ export class Map { if (isNullable()) { if (val) { __ref_mark(val); - __gc_mark_members(__runtime_id(), val); + __gc_mark_members(__runtime_id(), val); } } else { __ref_mark(val); diff --git a/std/assembly/runtime.ts b/std/assembly/runtime.ts index b2f5e73f..3144ee71 100644 --- a/std/assembly/runtime.ts +++ b/std/assembly/runtime.ts @@ -1,21 +1,65 @@ // The runtime provides common functionality that links runtime interfaces for memory management // and garbage collection to the standard library, making sure it all plays well together. -import { HEADER, HEADER_SIZE, HEADER_MAGIC, adjust } from "./util/runtime"; -import { HEAP_BASE, memory } from "./memory"; -import { ArrayBufferView } from "./arraybuffer"; +import { HEADER, HEADER_SIZE, allocate, register } from "./util/runtime"; import { E_NOTIMPLEMENTED } from "./util/error"; +import { memory } from "./memory"; +import { ArrayBufferView } from "./arraybuffer"; /** Gets the computed unique id of a class type. */ // @ts-ignore: decorator -@unsafe @builtin +@builtin export declare function __runtime_id(): u32; /** Tests if a managed class is the same as or a superclass of another. */ // @ts-ignore: decorator -@unsafe @builtin +@builtin export declare function __runtime_instanceof(id: u32, superId: u32): bool; +/** Runtime flags. */ +const enum RuntimeFlags { // keep in sync with src/program.ts + NONE = 0, + /** Type is an `Array`. */ + ARRAY = 1 << 0, + /** Type is a `Set`. */ + SET = 1 << 1, + /** Type is a `Map`. */ + MAP = 1 << 2, + /** Value alignment of 1 byte. */ + VALUE_ALIGN_0 = 1 << 3, + /** Value alignment of 2 bytes. */ + VALUE_ALIGN_1 = 1 << 4, + /** Value alignment of 4 bytes. */ + VALUE_ALIGN_2 = 1 << 5, + /** Value alignment of 8 bytes. */ + VALUE_ALIGN_3 = 1 << 6, + /** Value alignment of 16 bytes. */ + VALUE_ALIGN_4 = 1 << 7, + /** Value type is nullable. */ + VALUE_NULLABLE = 1 << 8, + /** Value type is managed. */ + VALUE_MANAGED = 1 << 9, + /** Key alignment of 1 byte. */ + KEY_ALIGN_0 = 1 << 10, + /** Key alignment of 2 bytes. */ + KEY_ALIGN_1 = 1 << 11, + /** Key alignment of 4 bytes. */ + KEY_ALIGN_2 = 1 << 12, + /** Key alignment of 8 bytes. */ + KEY_ALIGN_3 = 1 << 13, + /** Key alignment of 16 bytes. */ + KEY_ALIGN_4 = 1 << 14, + /** Key type is nullable. */ + KEY_NULLABLE = 1 << 15, + /** Key type is managed. */ + KEY_MANAGED = 1 << 16 +} + +/** Gets the runtime flags of the managed type represented by the specified runtime id. */ +// @ts-ignore: decorator +@builtin +export declare function __runtime_flags(id: u32): RuntimeFlags; + /** Marks root objects when a tracing GC is present. */ // @ts-ignore: decorator @unsafe @builtin @@ -42,66 +86,31 @@ export class runtime { : false; } } - -/** Runtime implementation. */ export namespace runtime { - /** Allocates the memory necessary to represent a managed object of the specified size. */ - // @ts-ignore: decorator - @unsafe - export function allocate(payloadSize: usize): usize { - var header = changetype
(memory.allocate(adjust(payloadSize))); - header.classId = HEADER_MAGIC; - header.payloadSize = payloadSize; - if (isDefined(__ref_collect)) { - header.reserved1 = 0; - header.reserved2 = 0; - } - return changetype(header) + HEADER_SIZE; + export function flags(id: u32): RuntimeFlags { + return __runtime_flags(id); } - /** Discards the memory of a managed object that hasn't been registered yet. */ + /** Allocates and registers, but doesn't initialize the data of, a new managed object of the specified kind. */ // @ts-ignore: decorator @unsafe - export function discard(ref: usize): void { - if (!ASC_NO_ASSERT) { - assert(ref > HEAP_BASE); // must be a heap object - let header = changetype
(ref - HEADER_SIZE); - assert(header.classId == HEADER_MAGIC); - memory.free(changetype(header)); - } else { - memory.free(changetype(ref - HEADER_SIZE)); - } - } - - /** Registers a managed object of the kind represented by the specified runtime id. */ - // @ts-ignore: decorator - @unsafe - export function register(ref: usize, id: u32): usize { - if (!ASC_NO_ASSERT) { - assert(ref > HEAP_BASE); // must be a heap object - let header = changetype
(ref - HEADER_SIZE); - assert(header.classId == HEADER_MAGIC); - header.classId = id; - } else { - changetype
(ref - HEADER_SIZE).classId = id; - } - if (isDefined(__ref_register)) __ref_register(ref); - return ref; + export function newObject(payloadSize: u32, id: u32): usize { + return register(allocate(payloadSize), id); } /** Allocates and registers, but doesn't initialize the data of, a new `String` of the specified length. */ // @ts-ignore: decorator @unsafe export function newString(length: i32): usize { - return register(allocate(length << 1), __runtime_id()); + return newObject(length << 1, __runtime_id()); } /** Allocates and registers, but doesn't initialize the data of, a new `ArrayBuffer` of the specified byteLength. */ // @ts-ignore: decorator @unsafe export function newArrayBuffer(byteLength: i32): usize { - return register(allocate(byteLength), __runtime_id()); + return newObject(byteLength, __runtime_id()); } /** Allocates and registers, but doesn't initialize the data of, a new `Array` of the specified length and element alignment.*/ @@ -121,9 +130,40 @@ export namespace runtime { changetype(array).dataLength = bufferSize; store(changetype(array), length, offsetof("length_")); if (data) memory.copy(buffer, data, bufferSize); + // TODO: a way to determine whether the array has managed elements that must be linked? return array; } + // export function newArray2(id: u32, buffer: usize): usize { + // var flags = __runtime_flags(id); // traps if invalid + // var alignLog2 = (flags / RuntimeFlags.VALUE_ALIGN_0) & 31; + // var byteLength: i32; + // if (!buffer) { + // buffer = newArrayBuffer(byteLength = 0); + // } else { + // byteLength = changetype(buffer).byteLength; + // } + // var array = register(allocate(offsetof()), id); + // changetype(array).data = changetype(buffer); // links + // changetype(array).dataStart = buffer; + // changetype(array).dataLength = byteLength; + // store(changetype(array), byteLength >>> alignLog2, offsetof("length_")); + // if (flags & RuntimeFlags.VALUE_MANAGED) { + // let cur = buffer; + // let end = cur + byteLength; + // while (cur < end) { + // let ref = load(cur); + // if (ref) { + // if (isDefined(__ref_link)) __ref_link(ref, array); + // else if (isDefined(__ref_retain)) __ref_retain(ref); + // else assert(false); + // } + // cur += sizeof(); + // } + // } + // return array; + // } + /** Retains a managed object externally, making sure that it doesn't become collected. */ // @ts-ignore: decorator @unsafe @@ -144,7 +184,7 @@ export namespace runtime { } } - /** Performs a full garbage collection cycle.*/ + /** Performs a full garbage collection cycle. */ // @ts-ignore: decorator @unsafe export function collect(): void { @@ -164,6 +204,7 @@ export namespace runtime { class Root {} +/** A root object to retain managed objects on externally. */ // @ts-ignore @lazy var ROOT = new Root(); diff --git a/std/assembly/runtime/default.ts b/std/assembly/runtime/default.ts index 7178fe2a..29be1ab6 100644 --- a/std/assembly/runtime/default.ts +++ b/std/assembly/runtime/default.ts @@ -1,4 +1,4 @@ import "allocator/tlsf"; import "collector/itcm"; -export { runtime }; +export { runtime as $ }; diff --git a/std/assembly/string.ts b/std/assembly/string.ts index 0e836f77..e77c5f26 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -1,7 +1,7 @@ /// import { MAX_SIZE_32 } from "./util/allocator"; -import { HEADER, HEADER_SIZE } from "./util/runtime"; +import { HEADER, HEADER_SIZE, allocate, register } from "./util/runtime"; import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./util/string"; import { E_INVALIDLENGTH } from "./util/error"; import { runtime, __runtime_id } from "./runtime"; @@ -11,21 +11,17 @@ import { ArrayBufferView } from "./arraybuffer"; @lazy static readonly MAX_LENGTH: i32 = (MAX_SIZE_32 - HEADER_SIZE) >> alignof(); - get length(): i32 { - return changetype
(changetype(this) - HEADER_SIZE).payloadSize >> 1; - } - // TODO Add and handle second argument static fromCharCode(code: i32): String { - var out = runtime.allocate(2); + var out = allocate(2); store(out, code); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } static fromCodePoint(code: i32): String { assert(code <= 0x10FFFF); var sur = code > 0xFFFF; - var out = runtime.allocate((i32(sur) + 1) << 1); + var out = allocate((i32(sur) + 1) << 1); if (!sur) { store(out, code); } else { @@ -34,15 +30,25 @@ import { ArrayBufferView } from "./arraybuffer"; let lo: u32 = (code & 0x3FF) + 0xDC00; store(out, (hi << 16) | lo); } - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); + } + + // @ts-ignore: decorator + // @unsafe + // constructor(length: i32) { + // return changetype(register(allocate(length << 1), __runtime_id())); + // } + + get length(): i32 { + return changetype
(changetype(this) - HEADER_SIZE).payloadSize >> 1; } @operator("[]") charAt(pos: i32): String { assert(this !== null); if (pos >= this.length) return changetype(""); - var out = runtime.allocate(2); + var out = allocate(2); store(out, load(changetype(this) + (pos << 1))); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } charCodeAt(pos: i32): i32 { @@ -69,10 +75,10 @@ import { ArrayBufferView } from "./arraybuffer"; var otherSize: isize = other.length << 1; var outSize: usize = thisSize + otherSize; if (outSize == 0) return changetype(""); - var out = runtime.allocate(outSize); + var out = allocate(outSize); memory.copy(out, changetype(this), thisSize); memory.copy(out + thisSize, changetype(other), otherSize); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } endsWith(searchString: String, endPosition: i32 = String.MAX_LENGTH): bool { @@ -188,9 +194,9 @@ import { ArrayBufferView } from "./arraybuffer"; if (intStart < 0) intStart = max(size + intStart, 0); var resultLength = min(max(end, 0), size - intStart); if (resultLength <= 0) return changetype(""); - var out = runtime.allocate(resultLength << 1); + var out = allocate(resultLength << 1); memory.copy(out, changetype(this) + intStart, resultLength); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } substring(start: i32, end: i32 = i32.MAX_VALUE): String { @@ -203,9 +209,9 @@ import { ArrayBufferView } from "./arraybuffer"; len = toPos - fromPos; if (!len) return changetype(""); if (!fromPos && toPos == this.length << 1) return this; - var out = runtime.allocate(len); + var out = allocate(len); memory.copy(out, changetype(this) + fromPos, len); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } trim(): String { @@ -231,9 +237,9 @@ import { ArrayBufferView } from "./arraybuffer"; } if (!size) return changetype(""); if (!start && size == length << 1) return this; - var out = runtime.allocate(size); + var out = allocate(size); memory.copy(out, changetype(this) + offset, size); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } @inline @@ -261,9 +267,9 @@ import { ArrayBufferView } from "./arraybuffer"; if (!offset) return this; size -= offset; if (!size) return changetype(""); - var out = runtime.allocate(size); + var out = allocate(size); memory.copy(out, changetype(this) + offset, size); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } trimEnd(): String { @@ -280,9 +286,9 @@ import { ArrayBufferView } from "./arraybuffer"; } if (!size) return changetype(""); if (size == originalSize) return this; - var out = runtime.allocate(size); + var out = allocate(size); memory.copy(out, changetype(this), size); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } padStart(targetLength: i32, padString: string = " "): String { @@ -292,7 +298,7 @@ import { ArrayBufferView } from "./arraybuffer"; var padSize = padString.length << 1; if (targetSize < thisSize || !padSize) return this; var prependSize = targetSize - thisSize; - var out = runtime.allocate(targetSize); + var out = allocate(targetSize); if (prependSize > padSize) { let repeatCount = (prependSize - 2) / padSize; let restBase = repeatCount * padSize; @@ -303,7 +309,7 @@ import { ArrayBufferView } from "./arraybuffer"; memory.copy(out, changetype(padString), prependSize); } memory.copy(out + prependSize, changetype(this), thisSize); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } padEnd(targetLength: i32, padString: string = " "): String { @@ -313,7 +319,7 @@ import { ArrayBufferView } from "./arraybuffer"; var padSize = padString.length << 1; if (targetSize < thisSize || !padSize) return this; var appendSize = targetSize - thisSize; - var out = runtime.allocate(targetSize); + var out = allocate(targetSize); memory.copy(out, changetype(this), thisSize); if (appendSize > padSize) { let repeatCount = (appendSize - 2) / padSize; @@ -324,7 +330,7 @@ import { ArrayBufferView } from "./arraybuffer"; } else { memory.copy(out + thisSize, changetype(padString), appendSize); } - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } repeat(count: i32 = 0): String { @@ -338,9 +344,9 @@ import { ArrayBufferView } from "./arraybuffer"; if (count == 0 || !length) return changetype(""); if (count == 1) return this; - var out = runtime.allocate((length * count) << 1); + var out = allocate((length * count) << 1); memory.repeat(out, changetype(this), length << 1, count); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } slice(beginIndex: i32, endIndex: i32 = i32.MAX_VALUE): String { @@ -349,9 +355,9 @@ import { ArrayBufferView } from "./arraybuffer"; var end = endIndex < 0 ? max(endIndex + len, 0) : min(endIndex, len); len = end - begin; if (len <= 0) return changetype(""); - var out = runtime.allocate(len << 1); + var out = allocate(len << 1); memory.copy(out, changetype(this) + (begin << 1), len << 1); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] { @@ -368,10 +374,10 @@ import { ArrayBufferView } from "./arraybuffer"; let result = changetype(runtime.newArray(length, alignof(), __runtime_id())); let resultStart = changetype(result).dataStart; for (let i: isize = 0; i < length; ++i) { - let charStr = runtime.allocate(2); + let charStr = allocate(2); store(charStr, load(changetype(this) + (i << 1))); store(resultStart + (i << alignof()), charStr); // result[i] = charStr - runtime.register(charStr, __runtime_id()); + register(charStr, __runtime_id()); if (isManaged()) { if (isDefined(__ref_link)) __ref_link(changetype(charStr), changetype(result)); if (isDefined(__ref_retain)) __ref_retain(changetype(charStr)); @@ -388,9 +394,9 @@ import { ArrayBufferView } from "./arraybuffer"; while ((end = this.indexOf(separator!, start)) != -1) { let len = end - start; if (len > 0) { - let out = runtime.allocate(len << 1); + let out = allocate(len << 1); memory.copy(out, changetype(this) + (start << 1), len << 1); - result.push(changetype(runtime.register(out, __runtime_id()))); + result.push(changetype(register(out, __runtime_id()))); } else { result.push(changetype("")); } @@ -404,9 +410,9 @@ import { ArrayBufferView } from "./arraybuffer"; } var len = length - start; if (len > 0) { - let out = runtime.allocate(len << 1); + let out = allocate(len << 1); memory.copy(out, changetype(this) + (start << 1), len << 1); - result.push(changetype(runtime.register(out, __runtime_id()))); + result.push(changetype(register(out, __runtime_id()))); } else { result.push(changetype("")); } @@ -478,10 +484,10 @@ import { ArrayBufferView } from "./arraybuffer"; } } assert(ptrPos == len); - var out = runtime.allocate(bufPos); + var out = allocate(bufPos); memory.copy(changetype(out), buf, bufPos); memory.free(buf); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } toUTF8(): usize { diff --git a/std/assembly/typedarray.ts b/std/assembly/typedarray.ts index f4658251..eed65f0e 100644 --- a/std/assembly/typedarray.ts +++ b/std/assembly/typedarray.ts @@ -1,7 +1,8 @@ -import { runtime, __runtime_id } from "./runtime"; -import { ArrayBufferView } from "./arraybuffer"; +import { allocate, register } from "./util/runtime"; import { COMPARATOR, SORT as SORT_IMPL } from "./util/sort"; import { E_INDEXOUTOFRANGE } from "./util/error"; +import { __runtime_id } from "./runtime"; +import { ArrayBufferView } from "./arraybuffer"; export class Int8Array extends ArrayBufferView { [key: number]: i8; @@ -961,13 +962,13 @@ function SUBARRAY( else begin = min(begin, length); if (end < 0) end = max(length + end, begin); else end = max(min(end, length), begin); - var out = runtime.allocate(offsetof()); + var out = allocate(offsetof()); var data = array.data; var dataStart = array.dataStart; changetype(out).data = data; // links changetype(out).dataStart = dataStart + (begin << alignof()); changetype(out).dataLength = (end - begin) << alignof(); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } // @ts-ignore: decorator diff --git a/std/assembly/util/number.ts b/std/assembly/util/number.ts index d8d5b841..61d9143e 100644 --- a/std/assembly/util/number.ts +++ b/std/assembly/util/number.ts @@ -1,6 +1,7 @@ -import { runtime, __runtime_id } from "../runtime"; -import { ArrayBufferView } from "../arraybuffer"; +import { allocate, register, discard } from "./runtime"; import { CharCode } from "./string"; +import { __runtime_id } from "../runtime"; +import { ArrayBufferView } from "../arraybuffer"; // @ts-ignore: decorator @inline @@ -263,10 +264,10 @@ export function utoa32(value: u32): String { if (!value) return "0"; var decimals = decimalCount32(value); - var out = runtime.allocate(decimals << 1); + var out = allocate(decimals << 1); utoa32_core(changetype(out), value, decimals); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } export function itoa32(value: i32): String { @@ -276,12 +277,12 @@ export function itoa32(value: i32): String { if (sign) value = -value; var decimals = decimalCount32(value) + u32(sign); - var out = runtime.allocate(decimals << 1); + var out = allocate(decimals << 1); utoa32_core(changetype(out), value, decimals); if (sign) store(changetype(out), CharCode.MINUS); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } export function utoa64(value: u64): String { @@ -291,14 +292,14 @@ export function utoa64(value: u64): String { if (value <= u32.MAX_VALUE) { let val32 = value; let decimals = decimalCount32(val32); - out = runtime.allocate(decimals << 1); + out = allocate(decimals << 1); utoa32_core(out, val32, decimals); } else { let decimals = decimalCount64(value); - out = runtime.allocate(decimals << 1); + out = allocate(decimals << 1); utoa64_core(changetype(out), value, decimals); } - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } export function itoa64(value: i64): String { @@ -311,16 +312,16 @@ export function itoa64(value: i64): String { if (value <= u32.MAX_VALUE) { let val32 = value; let decimals = decimalCount32(val32) + u32(sign); - out = runtime.allocate(decimals << 1); + out = allocate(decimals << 1); utoa32_core(changetype(out), val32, decimals); } else { let decimals = decimalCount64(value) + u32(sign); - out = runtime.allocate(decimals << 1); + out = allocate(decimals << 1); utoa64_core(changetype(out), value, decimals); } if (sign) store(changetype(out), CharCode.MINUS); - return changetype(runtime.register(out, __runtime_id())); + return changetype(register(out, __runtime_id())); } export function itoa(value: T): String { @@ -625,10 +626,10 @@ export function dtoa(value: f64): String { if (isNaN(value)) return "NaN"; return select("-Infinity", "Infinity", value < 0); } - var temp = runtime.allocate(MAX_DOUBLE_LENGTH << 1); + var temp = allocate(MAX_DOUBLE_LENGTH << 1); var length = dtoa_core(temp, value); var result = changetype(temp).substring(0, length); // registers - runtime.discard(temp); + discard(temp); return result; } diff --git a/std/assembly/util/runtime.ts b/std/assembly/util/runtime.ts index 838a5541..09b4ab5d 100644 --- a/std/assembly/util/runtime.ts +++ b/std/assembly/util/runtime.ts @@ -46,6 +46,20 @@ export function adjust(payloadSize: usize): usize { return 1 << (32 - clz(payloadSize + HEADER_SIZE - 1)); } +/** Allocates the memory necessary to represent a managed object of the specified size. */ +// @ts-ignore: decorator +@unsafe +export function allocate(payloadSize: usize): usize { + var header = changetype
(memory.allocate(adjust(payloadSize))); + header.classId = HEADER_MAGIC; + header.payloadSize = payloadSize; + if (isDefined(__ref_collect)) { + header.reserved1 = 0; + header.reserved2 = 0; + } + return changetype(header) + HEADER_SIZE; +} + /** Reallocates the memory of a managed object that turned out to be too small or too large. */ // @ts-ignore: decorator @unsafe @@ -91,3 +105,53 @@ export function reallocate(ref: usize, newPayloadSize: usize): usize { header.payloadSize = newPayloadSize; return ref; } + +/** Discards the memory of a managed object that hasn't been registered yet. */ +// @ts-ignore: decorator +@unsafe +export function discard(ref: usize): void { + if (!ASC_NO_ASSERT) { + assert(ref > HEAP_BASE); // must be a heap object + let header = changetype
(ref - HEADER_SIZE); + assert(header.classId == HEADER_MAGIC); + memory.free(changetype(header)); + } else { + memory.free(changetype(ref - HEADER_SIZE)); + } +} + +/** Registers a managed object of the kind represented by the specified runtime id. */ +// @ts-ignore: decorator +@unsafe +export function register(ref: usize, id: u32): usize { + if (!ASC_NO_ASSERT) { + assert(ref > HEAP_BASE); // must be a heap object + let header = changetype
(ref - HEADER_SIZE); + assert(header.classId == HEADER_MAGIC); + header.classId = id; + } else { + changetype
(ref - HEADER_SIZE).classId = id; + } + if (isDefined(__ref_register)) __ref_register(ref); + return ref; +} + +/** Allocates and registers, but doesn't initialize the data of, a new `Array` of the specified length and element alignment. */ +// @ts-ignore: decorator +@unsafe +export function newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { + // TODO: This API isn't great, but the compiler requires it for array literals anyway, + // that is when an array literal is encountered and its data is static, this function is + // called and the static buffer provided as `data`. This function can also be used to + // create typed arrays in that `Array` also implements `ArrayBufferView` but has an + // additional `.length_` property that remains unused overhead for typed arrays. + var array = newObject(offsetof(), id); + var bufferSize = length << alignLog2; + var buffer = newArrayBuffer(bufferSize); + changetype(array).data = changetype(buffer); // links + changetype(array).dataStart = buffer; + changetype(array).dataLength = bufferSize; + store(changetype(array), length, offsetof("length_")); + if (data) memory.copy(buffer, data, bufferSize); + return array; +} diff --git a/tests/compiler/call-super.optimized.wat b/tests/compiler/call-super.optimized.wat index b44b2318..1ff8ff90 100644 --- a/tests/compiler/call-super.optimized.wat +++ b/tests/compiler/call-super.optimized.wat @@ -6,8 +6,8 @@ (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\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 48) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 56) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -77,7 +77,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -98,16 +98,16 @@ i32.const 8 i32.add ) - (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 84 + i32.const 92 i32.le_u if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -121,8 +121,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -136,9 +136,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -150,7 +150,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 6 i32.const 4 call $~lib/env/abort @@ -161,9 +161,9 @@ (func $call-super/B#constructor (; 5 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register call $call-super/A#constructor local.tee $0 i32.const 2 @@ -174,7 +174,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 15 i32.const 4 call $~lib/env/abort @@ -186,7 +186,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 16 i32.const 4 call $~lib/env/abort @@ -203,7 +203,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 22 i32.const 2 call $~lib/env/abort @@ -215,7 +215,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 23 i32.const 2 call $~lib/env/abort @@ -225,16 +225,16 @@ (func $call-super/D#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -249,7 +249,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 38 i32.const 4 call $~lib/env/abort @@ -261,7 +261,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 39 i32.const 4 call $~lib/env/abort @@ -278,7 +278,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 45 i32.const 2 call $~lib/env/abort @@ -290,7 +290,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 46 i32.const 2 call $~lib/env/abort @@ -302,9 +302,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -316,7 +316,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 56 i32.const 4 call $~lib/env/abort @@ -327,9 +327,9 @@ (func $call-super/test3 (; 10 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register call $call-super/E#constructor local.tee $0 i32.const 2 @@ -340,7 +340,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 66 i32.const 2 call $~lib/env/abort @@ -352,7 +352,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 67 i32.const 2 call $~lib/env/abort @@ -362,16 +362,16 @@ (func $call-super/H#constructor (; 11 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -393,7 +393,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 84 i32.const 2 call $~lib/env/abort @@ -405,7 +405,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 85 i32.const 2 call $~lib/env/abort @@ -415,16 +415,16 @@ (func $call-super/J#constructor (; 13 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -446,7 +446,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 104 i32.const 2 call $~lib/env/abort @@ -458,7 +458,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 105 i32.const 2 call $~lib/env/abort @@ -466,7 +466,7 @@ end ) (func $start (; 15 ;) (type $FUNCSIG$v) - i32.const 88 + i32.const 96 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/call-super.untouched.wat b/tests/compiler/call-super.untouched.wat index 72e72191..6bb38cec 100644 --- a/tests/compiler/call-super.untouched.wat +++ b/tests/compiler/call-super.untouched.wat @@ -5,8 +5,8 @@ (type $FUNCSIG$viiii (func (param i32 i32 i32 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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 48) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -14,7 +14,7 @@ (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 84)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 92)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -114,7 +114,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -130,7 +130,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -139,8 +139,8 @@ if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -156,8 +156,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -172,9 +172,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -188,7 +188,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 6 i32.const 4 call $~lib/env/abort @@ -202,9 +202,9 @@ local.get $0 else i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end call $call-super/A#constructor local.set $0 @@ -218,7 +218,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 15 i32.const 4 call $~lib/env/abort @@ -231,7 +231,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 16 i32.const 4 call $~lib/env/abort @@ -251,7 +251,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 22 i32.const 2 call $~lib/env/abort @@ -264,7 +264,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 23 i32.const 2 call $~lib/env/abort @@ -276,9 +276,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -292,9 +292,9 @@ local.get $0 else i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end call $call-super/C#constructor local.set $0 @@ -308,7 +308,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 38 i32.const 4 call $~lib/env/abort @@ -321,7 +321,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 39 i32.const 4 call $~lib/env/abort @@ -341,7 +341,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 45 i32.const 2 call $~lib/env/abort @@ -354,7 +354,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 46 i32.const 2 call $~lib/env/abort @@ -367,9 +367,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -383,7 +383,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 56 i32.const 4 call $~lib/env/abort @@ -396,9 +396,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -421,7 +421,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 66 i32.const 2 call $~lib/env/abort @@ -434,7 +434,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 67 i32.const 2 call $~lib/env/abort @@ -446,9 +446,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -461,9 +461,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -486,7 +486,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 84 i32.const 2 call $~lib/env/abort @@ -499,7 +499,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 85 i32.const 2 call $~lib/env/abort @@ -511,9 +511,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -526,9 +526,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -551,7 +551,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 104 i32.const 2 call $~lib/env/abort @@ -564,7 +564,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 105 i32.const 2 call $~lib/env/abort diff --git a/tests/compiler/class-extends.optimized.wat b/tests/compiler/class-extends.optimized.wat index 6ecc3755..1f03bac9 100644 --- a/tests/compiler/class-extends.optimized.wat +++ b/tests/compiler/class-extends.optimized.wat @@ -12,8 +12,8 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00,") (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00\1e") - (data (i32.const 88) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 72) "\01\00\00\00(") + (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) @@ -28,18 +28,17 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "test" (func $class-extends/test)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $class-extends/test (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 @@ -68,7 +67,19 @@ i32.const 0 end ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $__inlined_func$~lib/runtime/__runtime_flags + block $invalid + local.get $0 + i32.const 1 + i32.sub + br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid + end + unreachable + end + i32.const 0 + ) + (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 i32.ge_u @@ -88,7 +99,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 22 i32.ge_u @@ -123,7 +134,7 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Block#get:right (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const -4 @@ -157,7 +168,7 @@ end local.get $0 ) - (func $~lib/allocator/tlsf/fls (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -173,7 +184,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 22 i32.ge_u @@ -207,7 +218,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.const 22 i32.ge_u @@ -226,7 +237,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -355,7 +366,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const 2 @@ -385,7 +396,7 @@ end local.get $0 ) - (func $~lib/allocator/tlsf/Root#setJump (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.load i32.const 1 @@ -430,7 +441,7 @@ local.get $0 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -660,7 +671,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -783,7 +794,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#insert ) - (func $~lib/allocator/tlsf/ffs (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -797,7 +808,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -909,7 +920,7 @@ end end ) - (func $~lib/allocator/tlsf/Root#use (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#use (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -1020,7 +1031,7 @@ i32.const 8 i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1046,14 +1057,14 @@ if unreachable end - i32.const 120 + i32.const 128 local.set $2 - i32.const 120 + i32.const 128 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 120 + i32.const 128 i32.const 0 i32.store i32.const 0 @@ -1063,7 +1074,7 @@ i32.const 22 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1074,7 +1085,7 @@ i32.const 32 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 local.get $3 i32.const 0 @@ -1093,8 +1104,8 @@ br $repeat|0 end end - i32.const 120 - i32.const 3040 + i32.const 128 + i32.const 3048 current_memory i32.const 16 i32.shl @@ -1190,7 +1201,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/runtime/runtime.allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1217,75 +1228,7 @@ i32.const 16 i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/runtime/runtime.discard (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - i32.const 120 - i32.le_u - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/maybeInit (; 21 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/collector/itcm/state i32.eqz @@ -1328,7 +1271,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1356,7 +1299,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) call $~lib/collector/itcm/maybeInit local.get $0 i32.const 16 @@ -1373,16 +1316,16 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 120 + i32.const 128 i32.le_u if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1396,8 +1339,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1410,19 +1353,23 @@ end local.get $0 ) + (func $~lib/runtime/runtime.newObject (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) (func $~lib/runtime/runtime.newString (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -1671,18 +1618,18 @@ (local $5 i32) (local $6 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.set $6 local.get $0 local.get $1 i32.shl local.tee $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $5 local.tee $1 local.get $2 @@ -1722,7 +1669,45 @@ (func $~lib/runtime/runtime.release (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 33 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.tee $1 + if + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + local.tee $3 + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + i32.const 1 + i32.or + i32.store + local.get $1 + local.get $0 + i32.const 8 + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/collector/itcm/step (; 34 ;) (type $FUNCSIG$v) (local $0 i32) block $break|0 block $case3|0 @@ -1812,7 +1797,7 @@ i32.and global.set $~lib/collector/itcm/iter local.get $0 - i32.const 120 + i32.const 128 i32.ge_u if local.get $0 @@ -1831,7 +1816,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 34 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 35 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1850,17 +1835,17 @@ br_if $continue|1 end ) - (func $~lib/runtime/runtime.collect (; 35 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 36 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $start (; 36 ;) (type $FUNCSIG$v) + (func $start (; 37 ;) (type $FUNCSIG$v) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $~lib/runtime/ROOT ) - (func $~lib/runtime/__gc_mark_roots (; 37 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 38 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -1881,7 +1866,7 @@ end end ) - (func $~lib/runtime/__runtime_instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -1908,10 +1893,10 @@ end i32.const 0 ) - (func $null (; 39 ;) (type $FUNCSIG$v) + (func $null (; 40 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray|trampoline (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -1931,7 +1916,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/class-extends.untouched.wat b/tests/compiler/class-extends.untouched.wat index 0d1aacb4..a234fbba 100644 --- a/tests/compiler/class-extends.untouched.wat +++ b/tests/compiler/class-extends.untouched.wat @@ -11,7 +11,7 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00\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 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -40,24 +40,23 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 120)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "test" (func $class-extends/test)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $class-extends/test (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 @@ -86,7 +85,11 @@ i32.const 0 end ) - (func $~lib/util/runtime/adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/__runtime_flags + ) + (func $~lib/util/runtime/adjust (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -98,12 +101,12 @@ i32.sub i32.shl ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#set:tailRef (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 0 local.get $1 i32.store offset=2912 ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setSLMap (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -124,7 +127,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 6 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/allocator/tlsf/Root#setHead (; 7 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -161,11 +164,11 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Root#get:tailRef (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 i32.load offset=2912 ) - (func $~lib/allocator/tlsf/Block#get:right (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -205,7 +208,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/fls (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -223,7 +226,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getHead (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -259,7 +262,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -279,7 +282,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -424,7 +427,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -456,7 +459,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/Root#setJump (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.load global.get $~lib/allocator/tlsf/FREE @@ -502,7 +505,7 @@ local.get $1 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -768,7 +771,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#addMemory (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -921,7 +924,7 @@ call $~lib/allocator/tlsf/Root#insert i32.const 1 ) - (func $~lib/allocator/tlsf/ffs (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -937,7 +940,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/ffs (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -953,7 +956,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1094,7 +1097,7 @@ end local.get $6 ) - (func $~lib/allocator/tlsf/Root#use (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#use (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1222,7 +1225,7 @@ global.get $~lib/allocator/tlsf/Block.INFO i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1458,12 +1461,12 @@ local.get $0 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/memory/memory.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/tlsf/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -1485,88 +1488,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/runtime/runtime.discard (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $1 - local.get $1 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/memory/memory.free - ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObjectList#clear (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.store offset=8 @@ -1574,7 +1496,7 @@ local.get $0 i32.store offset=12 ) - (func $~lib/collector/itcm/maybeInit (; 28 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 26 ;) (type $FUNCSIG$v) global.get $~lib/collector/itcm/state i32.const 0 i32.eq @@ -1607,7 +1529,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:color (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $0 i32.load offset=8 @@ -1619,7 +1541,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:next (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 local.get $0 @@ -1629,7 +1551,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1647,7 +1569,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -1666,7 +1588,7 @@ local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -1675,8 +1597,8 @@ if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1692,8 +1614,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1704,27 +1626,31 @@ call $~lib/collector/itcm/__ref_register local.get $0 ) - (func $~lib/runtime/runtime.newString (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newObject (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/runtime/runtime.newArrayBuffer (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newArrayBuffer (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:color (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -1732,7 +1658,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1748,7 +1674,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -1773,7 +1699,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit @@ -1810,7 +1736,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2019,7 +1945,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 42 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2027,18 +1953,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -2076,27 +2002,74 @@ end local.get $4 ) - (func $~lib/runtime/Root#constructor (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/Root#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $~lib/runtime/runtime.retain (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.retain (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) - (func $~lib/runtime/runtime.release (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.release (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 46 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.set $1 + local.get $1 + if + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $2 + local.get $2 + i32.load + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.or + i32.store + local.get $1 + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/memory/memory.free (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + call $~lib/allocator/tlsf/__mem_free + ) + (func $~lib/collector/itcm/step (; 47 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 @@ -2218,7 +2191,7 @@ unreachable end ) - (func $~lib/collector/itcm/__ref_collect (; 47 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 48 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit block $break|0 loop $continue|0 @@ -2241,18 +2214,18 @@ end end ) - (func $~lib/runtime/runtime.collect (; 48 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 49 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $~lib/runtime/runtime#constructor (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime#constructor (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) unreachable ) - (func $start (; 50 ;) (type $FUNCSIG$v) + (func $start (; 51 ;) (type $FUNCSIG$v) i32.const 0 call $~lib/runtime/Root#constructor global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_mark (; 52 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -2273,7 +2246,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/__gc_mark_roots (; 52 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 53 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -2282,7 +2255,7 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__gc_mark_members (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/__gc_mark_members (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid block $~lib/runtime/Root @@ -2299,7 +2272,7 @@ end unreachable ) - (func $~lib/runtime/__runtime_instanceof (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -2325,9 +2298,28 @@ i32.const 0 return ) - (func $null (; 55 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__runtime_flags (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $invalid + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/string/String + local.get $0 + br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + unreachable ) - (func $~lib/runtime/runtime.newArray|trampoline (; 56 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $null (; 57 ;) (type $FUNCSIG$v) + ) + (func $~lib/runtime/runtime.newArray|trampoline (; 58 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2347,7 +2339,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 57 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 59 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/class.optimized.wat b/tests/compiler/class.optimized.wat index 5e1638c4..bb717647 100644 --- a/tests/compiler/class.optimized.wat +++ b/tests/compiler/class.optimized.wat @@ -14,8 +14,8 @@ (data (i32.const 24) "c\00l\00a\00s\00s\00.\00t\00s") (data (i32.const 40) "\01\00\00\00,") (data (i32.const 56) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 104) "\01\00\00\00\1e") - (data (i32.const 120) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 104) "\01\00\00\00(") + (data (i32.const 120) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) @@ -30,18 +30,17 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "test" (func $class/test)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $class/test (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -77,7 +76,19 @@ i32.const 0 end ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $__inlined_func$~lib/runtime/__runtime_flags + block $invalid + local.get $0 + i32.const 1 + i32.sub + br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid + end + unreachable + end + i32.const 0 + ) + (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 i32.ge_u @@ -97,7 +108,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 i32.const 22 i32.ge_u @@ -132,7 +143,7 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Block#get:right (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const -4 @@ -166,7 +177,7 @@ end local.get $0 ) - (func $~lib/allocator/tlsf/fls (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -182,7 +193,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 i32.const 22 i32.ge_u @@ -216,7 +227,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.const 22 i32.ge_u @@ -235,7 +246,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -364,7 +375,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load i32.const 2 @@ -394,7 +405,7 @@ end local.get $0 ) - (func $~lib/allocator/tlsf/Root#setJump (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i32.load i32.const 1 @@ -439,7 +450,7 @@ local.get $0 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -669,7 +680,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $1 @@ -792,7 +803,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#insert ) - (func $~lib/allocator/tlsf/ffs (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -806,7 +817,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 @@ -918,7 +929,7 @@ end end ) - (func $~lib/allocator/tlsf/Root#use (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#use (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) local.get $1 @@ -1029,7 +1040,7 @@ i32.const 8 i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1055,14 +1066,14 @@ if unreachable end - i32.const 152 + i32.const 160 local.set $2 - i32.const 152 + i32.const 160 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 152 + i32.const 160 i32.const 0 i32.store i32.const 0 @@ -1072,7 +1083,7 @@ i32.const 22 i32.lt_u if - i32.const 152 + i32.const 160 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1083,7 +1094,7 @@ i32.const 32 i32.lt_u if - i32.const 152 + i32.const 160 local.get $1 local.get $3 i32.const 0 @@ -1102,8 +1113,8 @@ br $repeat|0 end end - i32.const 152 - i32.const 3072 + i32.const 160 + i32.const 3080 current_memory i32.const 16 i32.shl @@ -1199,7 +1210,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/runtime/runtime.allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1226,75 +1237,7 @@ i32.const 16 i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 56 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/runtime/runtime.discard (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - i32.const 152 - i32.le_u - if - i32.const 0 - i32.const 120 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 120 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/maybeInit (; 21 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/collector/itcm/state i32.eqz @@ -1337,7 +1280,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1365,7 +1308,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) call $~lib/collector/itcm/maybeInit local.get $0 i32.const 16 @@ -1382,16 +1325,16 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 152 + i32.const 160 i32.le_u if i32.const 0 i32.const 120 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1405,8 +1348,8 @@ if i32.const 0 i32.const 120 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1419,19 +1362,23 @@ end local.get $0 ) + (func $~lib/runtime/runtime.newObject (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) (func $~lib/runtime/runtime.newString (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -1680,18 +1627,18 @@ (local $5 i32) (local $6 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.set $6 local.get $0 local.get $1 i32.shl local.tee $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $5 local.tee $1 local.get $2 @@ -1731,7 +1678,45 @@ (func $~lib/runtime/runtime.release (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 33 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.tee $1 + if + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + local.tee $3 + i32.const 1 + i32.and + if + i32.const 0 + i32.const 56 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + i32.const 1 + i32.or + i32.store + local.get $1 + local.get $0 + i32.const 8 + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/collector/itcm/step (; 34 ;) (type $FUNCSIG$v) (local $0 i32) block $break|0 block $case3|0 @@ -1821,7 +1806,7 @@ i32.and global.set $~lib/collector/itcm/iter local.get $0 - i32.const 152 + i32.const 160 i32.ge_u if local.get $0 @@ -1840,7 +1825,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 34 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 35 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1859,17 +1844,17 @@ br_if $continue|1 end ) - (func $~lib/runtime/runtime.collect (; 35 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 36 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $start (; 36 ;) (type $FUNCSIG$v) + (func $start (; 37 ;) (type $FUNCSIG$v) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $~lib/runtime/ROOT ) - (func $~lib/runtime/__gc_mark_roots (; 37 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 38 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -1890,7 +1875,7 @@ end end ) - (func $~lib/runtime/__runtime_instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -1917,10 +1902,10 @@ end i32.const 0 ) - (func $null (; 39 ;) (type $FUNCSIG$v) + (func $null (; 40 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray|trampoline (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -1940,7 +1925,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/class.untouched.wat b/tests/compiler/class.untouched.wat index bf4c176f..c48c2f31 100644 --- a/tests/compiler/class.untouched.wat +++ b/tests/compiler/class.untouched.wat @@ -14,7 +14,7 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00c\00l\00a\00s\00s\00.\00t\00s\00") (data (i32.const 40) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 104) "\01\00\00\00\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 104) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $class/Animal.ONE (mut i32) (i32.const 1)) @@ -44,24 +44,23 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 152)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 160)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "test" (func $class/test)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $class/Animal.add (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -175,7 +174,11 @@ i32.const 0 end ) - (func $~lib/util/runtime/adjust (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.flags (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/__runtime_flags + ) + (func $~lib/util/runtime/adjust (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -187,12 +190,12 @@ i32.sub i32.shl ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#set:tailRef (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 0 local.get $1 i32.store offset=2912 ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setSLMap (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -213,7 +216,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 11 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/allocator/tlsf/Root#setHead (; 12 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -250,11 +253,11 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Root#get:tailRef (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 i32.load offset=2912 ) - (func $~lib/allocator/tlsf/Block#get:right (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -294,7 +297,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/fls (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -312,7 +315,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getHead (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -348,7 +351,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -368,7 +371,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -513,7 +516,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -545,7 +548,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/Root#setJump (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.load global.get $~lib/allocator/tlsf/FREE @@ -591,7 +594,7 @@ local.get $1 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -857,7 +860,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#addMemory (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1010,7 +1013,7 @@ call $~lib/allocator/tlsf/Root#insert i32.const 1 ) - (func $~lib/allocator/tlsf/ffs (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -1026,7 +1029,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/ffs (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -1042,7 +1045,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1183,7 +1186,7 @@ end local.get $6 ) - (func $~lib/allocator/tlsf/Root#use (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#use (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1311,7 +1314,7 @@ global.get $~lib/allocator/tlsf/Block.INFO i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1547,12 +1550,12 @@ local.get $0 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/memory/memory.allocate (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/tlsf/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -1574,88 +1577,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 56 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/runtime/runtime.discard (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $1 - local.get $1 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 120 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/memory/memory.free - ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObjectList#clear (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.store offset=8 @@ -1663,7 +1585,7 @@ local.get $0 i32.store offset=12 ) - (func $~lib/collector/itcm/maybeInit (; 33 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 31 ;) (type $FUNCSIG$v) global.get $~lib/collector/itcm/state i32.const 0 i32.eq @@ -1696,7 +1618,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:color (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $0 i32.load offset=8 @@ -1708,7 +1630,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:next (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 local.get $0 @@ -1718,7 +1640,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1736,7 +1658,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -1755,7 +1677,7 @@ local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -1764,8 +1686,8 @@ if i32.const 0 i32.const 120 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1781,8 +1703,8 @@ if i32.const 0 i32.const 120 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1793,27 +1715,31 @@ call $~lib/collector/itcm/__ref_register local.get $0 ) - (func $~lib/runtime/runtime.newString (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newObject (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/runtime/runtime.newArrayBuffer (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newArrayBuffer (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:color (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -1821,7 +1747,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1837,7 +1763,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -1862,7 +1788,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit @@ -1899,7 +1825,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 46 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 45 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2108,7 +2034,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 47 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray (; 46 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2116,18 +2042,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -2165,27 +2091,74 @@ end local.get $4 ) - (func $~lib/runtime/Root#constructor (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/Root#constructor (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $~lib/runtime/runtime.retain (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.retain (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) - (func $~lib/runtime/runtime.release (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.release (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 51 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.set $1 + local.get $1 + if + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $2 + local.get $2 + i32.load + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 56 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.or + i32.store + local.get $1 + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/memory/memory.free (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + call $~lib/allocator/tlsf/__mem_free + ) + (func $~lib/collector/itcm/step (; 52 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 @@ -2307,7 +2280,7 @@ unreachable end ) - (func $~lib/collector/itcm/__ref_collect (; 52 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 53 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit block $break|0 loop $continue|0 @@ -2330,19 +2303,19 @@ end end ) - (func $~lib/runtime/runtime.collect (; 53 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 54 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $~lib/runtime/runtime#constructor (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime#constructor (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) unreachable ) - (func $start (; 55 ;) (type $FUNCSIG$v) + (func $start (; 56 ;) (type $FUNCSIG$v) call $start:class i32.const 0 call $~lib/runtime/Root#constructor global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_mark (; 57 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -2363,7 +2336,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/__gc_mark_roots (; 57 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 58 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -2372,7 +2345,7 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__gc_mark_members (; 58 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/__gc_mark_members (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid block $~lib/runtime/Root @@ -2389,7 +2362,7 @@ end unreachable ) - (func $~lib/runtime/__runtime_instanceof (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -2415,9 +2388,28 @@ i32.const 0 return ) - (func $null (; 60 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__runtime_flags (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $invalid + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/string/String + local.get $0 + br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + unreachable ) - (func $~lib/runtime/runtime.newArray|trampoline (; 61 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $null (; 62 ;) (type $FUNCSIG$v) + ) + (func $~lib/runtime/runtime.newArray|trampoline (; 63 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2437,7 +2429,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/closure.optimized.wat b/tests/compiler/closure.optimized.wat index 845cbc1e..5c190147 100644 --- a/tests/compiler/closure.optimized.wat +++ b/tests/compiler/closure.optimized.wat @@ -12,8 +12,8 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00,") (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00\1e") - (data (i32.const 88) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 72) "\01\00\00\00(") + (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) @@ -27,18 +27,17 @@ (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -53,7 +52,19 @@ i32.const 0 end ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $__inlined_func$~lib/runtime/__runtime_flags + block $invalid + local.get $0 + i32.const 1 + i32.sub + br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid + end + unreachable + end + i32.const 0 + ) + (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 i32.ge_u @@ -73,7 +84,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 @@ -108,7 +119,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 @@ -142,7 +153,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 @@ -158,7 +169,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 @@ -192,7 +203,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 @@ -211,7 +222,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) @@ -340,7 +351,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 @@ -370,7 +381,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 @@ -415,7 +426,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) @@ -645,7 +656,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 @@ -768,7 +779,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 @@ -782,7 +793,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 @@ -894,7 +905,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 @@ -1005,7 +1016,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) @@ -1031,14 +1042,14 @@ if unreachable end - i32.const 120 + i32.const 128 local.set $2 - i32.const 120 + i32.const 128 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 120 + i32.const 128 i32.const 0 i32.store i32.const 0 @@ -1048,7 +1059,7 @@ i32.const 22 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1059,7 +1070,7 @@ i32.const 32 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 local.get $3 i32.const 0 @@ -1078,8 +1089,8 @@ br $repeat|0 end end - i32.const 120 - i32.const 3040 + i32.const 128 + i32.const 3048 current_memory i32.const 16 i32.shl @@ -1175,7 +1186,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/runtime/runtime.allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1202,75 +1213,7 @@ i32.const 16 i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/runtime/runtime.discard (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - i32.const 120 - i32.le_u - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 19 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/collector/itcm/state i32.eqz @@ -1313,7 +1256,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1341,7 +1284,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) call $~lib/collector/itcm/maybeInit local.get $0 i32.const 16 @@ -1358,16 +1301,16 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 120 + i32.const 128 i32.le_u if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1381,8 +1324,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1395,19 +1338,23 @@ end local.get $0 ) + (func $~lib/runtime/runtime.newObject (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) (func $~lib/runtime/runtime.newString (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -1656,18 +1603,18 @@ (local $5 i32) (local $6 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.set $6 local.get $0 local.get $1 i32.shl local.tee $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $5 local.tee $1 local.get $2 @@ -1707,7 +1654,45 @@ (func $~lib/runtime/runtime.release (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 32 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.tee $1 + if + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + local.tee $3 + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + i32.const 1 + i32.or + i32.store + local.get $1 + local.get $0 + i32.const 8 + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/collector/itcm/step (; 33 ;) (type $FUNCSIG$v) (local $0 i32) block $break|0 block $case3|0 @@ -1797,7 +1782,7 @@ i32.and global.set $~lib/collector/itcm/iter local.get $0 - i32.const 120 + i32.const 128 i32.ge_u if local.get $0 @@ -1816,7 +1801,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 33 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 34 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1835,17 +1820,17 @@ br_if $continue|1 end ) - (func $~lib/runtime/runtime.collect (; 34 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 35 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $start (; 35 ;) (type $FUNCSIG$v) + (func $start (; 36 ;) (type $FUNCSIG$v) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $~lib/runtime/ROOT ) - (func $~lib/runtime/__gc_mark_roots (; 36 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 37 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -1866,7 +1851,7 @@ end end ) - (func $~lib/runtime/__runtime_instanceof (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -1893,10 +1878,10 @@ end i32.const 0 ) - (func $null (; 38 ;) (type $FUNCSIG$v) + (func $null (; 39 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray|trampoline (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -1916,7 +1901,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/closure.untouched.wat b/tests/compiler/closure.untouched.wat index ae057c9d..c54dc003 100644 --- a/tests/compiler/closure.untouched.wat +++ b/tests/compiler/closure.untouched.wat @@ -11,7 +11,7 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00\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 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -40,23 +40,22 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 120)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -71,7 +70,11 @@ i32.const 0 end ) - (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/__runtime_flags + ) + (func $~lib/util/runtime/adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -83,12 +86,12 @@ i32.sub i32.shl ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#set:tailRef (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 0 local.get $1 i32.store offset=2912 ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setSLMap (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -109,7 +112,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/allocator/tlsf/Root#setHead (; 6 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -146,11 +149,11 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Root#get:tailRef (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 i32.load offset=2912 ) - (func $~lib/allocator/tlsf/Block#get:right (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -190,7 +193,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/fls (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -208,7 +211,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getHead (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -244,7 +247,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -264,7 +267,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -409,7 +412,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -441,7 +444,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/Root#setJump (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.load global.get $~lib/allocator/tlsf/FREE @@ -487,7 +490,7 @@ local.get $1 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -753,7 +756,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#addMemory (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -906,7 +909,7 @@ call $~lib/allocator/tlsf/Root#insert i32.const 1 ) - (func $~lib/allocator/tlsf/ffs (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -922,7 +925,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/ffs (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -938,7 +941,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1079,7 +1082,7 @@ end local.get $6 ) - (func $~lib/allocator/tlsf/Root#use (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#use (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1207,7 +1210,7 @@ global.get $~lib/allocator/tlsf/Block.INFO i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1443,12 +1446,12 @@ local.get $0 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/memory/memory.allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/tlsf/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -1470,88 +1473,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/runtime/runtime.discard (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $1 - local.get $1 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/memory/memory.free - ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObjectList#clear (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.store offset=8 @@ -1559,7 +1481,7 @@ local.get $0 i32.store offset=12 ) - (func $~lib/collector/itcm/maybeInit (; 27 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 25 ;) (type $FUNCSIG$v) global.get $~lib/collector/itcm/state i32.const 0 i32.eq @@ -1592,7 +1514,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:color (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $0 i32.load offset=8 @@ -1604,7 +1526,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:next (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 local.get $0 @@ -1614,7 +1536,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1632,7 +1554,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -1651,7 +1573,7 @@ local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -1660,8 +1582,8 @@ if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1677,8 +1599,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1689,27 +1611,31 @@ call $~lib/collector/itcm/__ref_register local.get $0 ) - (func $~lib/runtime/runtime.newString (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newObject (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/runtime/runtime.newArrayBuffer (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newArrayBuffer (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:color (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -1717,7 +1643,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1733,7 +1659,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -1758,7 +1684,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit @@ -1795,7 +1721,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2004,7 +1930,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2012,18 +1938,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -2061,27 +1987,74 @@ end local.get $4 ) - (func $~lib/runtime/Root#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/Root#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $~lib/runtime/runtime.retain (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.retain (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) - (func $~lib/runtime/runtime.release (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.release (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 45 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.set $1 + local.get $1 + if + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $2 + local.get $2 + i32.load + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.or + i32.store + local.get $1 + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/memory/memory.free (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + call $~lib/allocator/tlsf/__mem_free + ) + (func $~lib/collector/itcm/step (; 46 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 @@ -2203,7 +2176,7 @@ unreachable end ) - (func $~lib/collector/itcm/__ref_collect (; 46 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 47 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit block $break|0 loop $continue|0 @@ -2226,18 +2199,18 @@ end end ) - (func $~lib/runtime/runtime.collect (; 47 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 48 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $~lib/runtime/runtime#constructor (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime#constructor (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) unreachable ) - (func $start (; 49 ;) (type $FUNCSIG$v) + (func $start (; 50 ;) (type $FUNCSIG$v) i32.const 0 call $~lib/runtime/Root#constructor global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_mark (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -2258,7 +2231,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/__gc_mark_roots (; 51 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 52 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -2267,7 +2240,7 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__gc_mark_members (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/__gc_mark_members (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid block $~lib/runtime/Root @@ -2284,7 +2257,7 @@ end unreachable ) - (func $~lib/runtime/__runtime_instanceof (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -2310,9 +2283,28 @@ i32.const 0 return ) - (func $null (; 54 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__runtime_flags (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $invalid + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/string/String + local.get $0 + br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + unreachable ) - (func $~lib/runtime/runtime.newArray|trampoline (; 55 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $null (; 56 ;) (type $FUNCSIG$v) + ) + (func $~lib/runtime/runtime.newArray|trampoline (; 57 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2332,7 +2324,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 58 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/constructor.optimized.wat b/tests/compiler/constructor.optimized.wat index 4ccf88b0..acb305df 100644 --- a/tests/compiler/constructor.optimized.wat +++ b/tests/compiler/constructor.optimized.wat @@ -13,8 +13,8 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00,") (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00\1e") - (data (i32.const 88) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 72) "\01\00\00\00(") + (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) @@ -39,18 +39,17 @@ (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/tlsf/Root#setSLMap (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 @@ -1030,14 +1029,14 @@ if unreachable end - i32.const 120 + i32.const 128 local.set $2 - i32.const 120 + i32.const 128 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 120 + i32.const 128 i32.const 0 i32.store i32.const 0 @@ -1047,7 +1046,7 @@ i32.const 22 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1058,7 +1057,7 @@ i32.const 32 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 local.get $3 i32.const 0 @@ -1077,8 +1076,8 @@ br $repeat|0 end end - i32.const 120 - i32.const 3040 + i32.const 128 + i32.const 3048 current_memory i32.const 16 i32.shl @@ -1174,7 +1173,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/runtime/runtime.allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1289,16 +1288,16 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 120 + i32.const 128 i32.le_u if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1312,8 +1311,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1332,9 +1331,9 @@ global.get $constructor/b if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1342,9 +1341,9 @@ end if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1352,46 +1351,46 @@ (func $start:constructor (; 22 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $constructor/emptyCtor i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 1 i32.store local.get $0 global.set $constructor/emptyCtorWithFieldInit i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store local.get $0 global.set $constructor/emptyCtorWithFieldNoInit i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $constructor/none i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 1 i32.store local.get $0 global.set $constructor/justFieldInit i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -1408,15 +1407,15 @@ br $__inlined_func$constructor/CtorConditionallyReturns#constructor end i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end global.set $constructor/ctorConditionallyReturns i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $constructor/ctorAllocates call $constructor/CtorConditionallyAllocates#constructor global.set $constructor/ctorConditionallyAllocates @@ -1434,87 +1433,35 @@ i32.const 0 end ) - (func $~lib/allocator/tlsf/__mem_free (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if + (func $~lib/runtime/runtime.flags (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $folding-inner0 + block $invalid local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 i32.sub - call $~lib/allocator/tlsf/Root#insert + br_table $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid end + unreachable end + i32.const 0 ) - (func $~lib/runtime/runtime.discard (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.newObject (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 120 - i32.le_u - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/__mem_free + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register ) (func $~lib/runtime/runtime.newString (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -1763,18 +1710,18 @@ (local $5 i32) (local $6 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.set $6 local.get $0 local.get $1 i32.shl local.tee $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $5 local.tee $1 local.get $2 @@ -1814,7 +1761,45 @@ (func $~lib/runtime/runtime.release (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 34 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.tee $1 + if + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + local.tee $3 + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + i32.const 1 + i32.or + i32.store + local.get $1 + local.get $0 + i32.const 8 + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/collector/itcm/step (; 35 ;) (type $FUNCSIG$v) (local $0 i32) block $break|0 block $case3|0 @@ -1897,7 +1882,7 @@ i32.and global.set $~lib/collector/itcm/iter local.get $0 - i32.const 120 + i32.const 128 i32.ge_u if local.get $0 @@ -1916,7 +1901,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 35 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 36 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1935,18 +1920,18 @@ br_if $continue|1 end ) - (func $~lib/runtime/runtime.collect (; 36 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 37 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $start (; 37 ;) (type $FUNCSIG$v) + (func $start (; 38 ;) (type $FUNCSIG$v) call $start:constructor i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_mark (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) call $~lib/collector/itcm/maybeInit global.get $~lib/collector/itcm/white local.get $0 @@ -1962,7 +1947,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/__gc_mark_roots (; 39 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 40 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -2031,7 +2016,7 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__gc_mark_members (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/__gc_mark_members (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) block $invalid block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -2076,7 +2061,7 @@ end unreachable ) - (func $~lib/runtime/__runtime_instanceof (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -2157,10 +2142,10 @@ end i32.const 0 ) - (func $null (; 42 ;) (type $FUNCSIG$v) + (func $null (; 43 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 43 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray|trampoline (; 44 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2180,7 +2165,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/constructor.untouched.wat b/tests/compiler/constructor.untouched.wat index 4ee2de6e..80582d77 100644 --- a/tests/compiler/constructor.untouched.wat +++ b/tests/compiler/constructor.untouched.wat @@ -11,7 +11,7 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00\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 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -51,23 +51,22 @@ (global $constructor/ctorAllocates (mut i32) (i32.const 0)) (global $constructor/ctorConditionallyAllocates (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 120)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -1446,7 +1445,7 @@ call $~lib/allocator/tlsf/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -1568,7 +1567,7 @@ local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -1577,8 +1576,8 @@ if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1594,8 +1593,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1611,9 +1610,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1623,9 +1622,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1638,9 +1637,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1653,9 +1652,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1665,9 +1664,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1680,9 +1679,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1705,9 +1704,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1718,9 +1717,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1736,9 +1735,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1749,9 +1748,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1801,108 +1800,35 @@ i32.const 0 end ) - (func $~lib/allocator/tlsf/__mem_free (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/runtime/runtime.flags (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end + call $~lib/runtime/__runtime_flags ) - (func $~lib/memory/memory.free (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.newObject (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/runtime/runtime.discard (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $1 + call $~lib/util/runtime/allocate local.get $1 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/memory/memory.free + call $~lib/util/runtime/register ) - (func $~lib/runtime/runtime.newString (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newString (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/runtime/runtime.newArrayBuffer (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newArrayBuffer (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:color (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -1910,7 +1836,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1926,7 +1852,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -1951,7 +1877,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit @@ -1988,7 +1914,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 51 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2197,7 +2123,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 52 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray (; 51 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2205,18 +2131,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -2254,27 +2180,74 @@ end local.get $4 ) - (func $~lib/runtime/Root#constructor (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/Root#constructor (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $~lib/runtime/runtime.retain (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.retain (; 53 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) - (func $~lib/runtime/runtime.release (; 55 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.release (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 56 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 55 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.set $1 + local.get $1 + if + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $2 + local.get $2 + i32.load + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.or + i32.store + local.get $1 + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/memory/memory.free (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + call $~lib/allocator/tlsf/__mem_free + ) + (func $~lib/collector/itcm/step (; 57 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 @@ -2396,7 +2369,7 @@ unreachable end ) - (func $~lib/collector/itcm/__ref_collect (; 57 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 58 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit block $break|0 loop $continue|0 @@ -2419,19 +2392,19 @@ end end ) - (func $~lib/runtime/runtime.collect (; 58 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 59 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $~lib/runtime/runtime#constructor (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime#constructor (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) unreachable ) - (func $start (; 60 ;) (type $FUNCSIG$v) + (func $start (; 61 ;) (type $FUNCSIG$v) call $start:constructor i32.const 0 call $~lib/runtime/Root#constructor global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 61 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_mark (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -2452,7 +2425,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/__gc_mark_roots (; 62 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 63 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -2521,7 +2494,7 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__gc_mark_members (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/__gc_mark_members (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid block $~lib/runtime/Root @@ -2565,7 +2538,7 @@ end unreachable ) - (func $~lib/runtime/__runtime_instanceof (; 64 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -2645,9 +2618,64 @@ i32.const 0 return ) - (func $null (; 65 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__runtime_flags (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $invalid + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $constructor/CtorConditionallyAllocates + block $constructor/CtorAllocates + block $constructor/CtorConditionallyReturns + block $constructor/JustFieldNoInit + block $constructor/JustFieldInit + block $constructor/None + block $constructor/EmptyCtorWithFieldNoInit + block $constructor/EmptyCtorWithFieldInit + block $constructor/EmptyCtor + block $~lib/string/String + local.get $0 + br_table $invalid $~lib/string/String $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorConditionallyReturns $constructor/CtorAllocates $constructor/CtorConditionallyAllocates $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + unreachable ) - (func $~lib/runtime/runtime.newArray|trampoline (; 66 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $null (; 67 ;) (type $FUNCSIG$v) + ) + (func $~lib/runtime/runtime.newArray|trampoline (; 68 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2667,7 +2695,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 67 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 69 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/exports.optimized.wat b/tests/compiler/exports.optimized.wat index c69f10e1..bacc9845 100644 --- a/tests/compiler/exports.optimized.wat +++ b/tests/compiler/exports.optimized.wat @@ -8,7 +8,7 @@ (type $FUNCSIG$v (func)) (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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $exports/Animal.CAT i32 (i32.const 0)) @@ -26,7 +26,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "add" (func $exports/add)) - (export ".setargc" (func $~lib/setargc)) + (export "$.setArgc" (func $~lib/setargc)) (export "subOpt" (func $exports/subOpt|trampoline)) (export "math.sub" (func $exports/subOpt)) (export "Animal.CAT" (global $exports/Animal.CAT)) @@ -128,7 +128,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -142,16 +142,16 @@ i32.const 8 i32.add ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 48 + i32.const 56 i32.le_u if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -165,8 +165,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -188,7 +188,7 @@ nop ) (func $start (; 10 ;) (type $FUNCSIG$v) - i32.const 48 + i32.const 56 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -233,9 +233,9 @@ local.get $0 i32.eqz if - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -261,9 +261,9 @@ local.get $0 i32.eqz if - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/exports.untouched.wat b/tests/compiler/exports.untouched.wat index 6d21861e..4518780c 100644 --- a/tests/compiler/exports.untouched.wat +++ b/tests/compiler/exports.untouched.wat @@ -8,7 +8,7 @@ (type $FUNCSIG$v (func)) (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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $exports/Animal.CAT i32 (i32.const 0)) @@ -23,14 +23,14 @@ (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 48)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (global $~lib/argc (mut i32) (i32.const 0)) (global $exports/Car i32 (i32.const 1)) (global $exports/vehicles.Car i32 (i32.const 3)) (export "memory" (memory $0)) (export "table" (table $0)) (export "add" (func $exports/add)) - (export ".setargc" (func $~lib/setargc)) + (export "$.setArgc" (func $~lib/setargc)) (export "subOpt" (func $exports/subOpt|trampoline)) (export "math.sub" (func $exports/math.sub)) (export "Animal.CAT" (global $exports/Animal.CAT)) @@ -171,7 +171,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -187,7 +187,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/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 @@ -196,8 +196,8 @@ if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -213,8 +213,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -229,9 +229,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -264,9 +264,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/gc.optimized.wat b/tests/compiler/gc.optimized.wat index 8fc022e4..656ae34d 100644 --- a/tests/compiler/gc.optimized.wat +++ b/tests/compiler/gc.optimized.wat @@ -10,18 +10,18 @@ (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))) (memory $0 1) - (data (i32.const 8) "\02\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\16") - (data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 96) "\02\00\00\00\0e") - (data (i32.const 112) "g\00c\00.\00l\00i\00n\00k") - (data (i32.const 128) "\02\00\00\00\n") - (data (i32.const 144) "g\00c\00.\00t\00s") - (data (i32.const 160) "\02\00\00\00\12") - (data (i32.const 176) "g\00c\00.\00u\00n\00l\00i\00n\00k") - (data (i32.const 200) "\02\00\00\00\14") - (data (i32.const 216) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t") + (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 104) "\02\00\00\00\0e") + (data (i32.const 120) "g\00c\00.\00l\00i\00n\00k") + (data (i32.const 136) "\02\00\00\00\n") + (data (i32.const 152) "g\00c\00.\00t\00s") + (data (i32.const 168) "\02\00\00\00\12") + (data (i32.const 184) "g\00c\00.\00u\00n\00l\00i\00n\00k") + (data (i32.const 208) "\02\00\00\00\14") + (data (i32.const 224) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -41,7 +41,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -104,7 +104,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -125,7 +125,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -141,16 +141,16 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 236 + i32.const 244 i32.le_u if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -164,8 +164,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -177,7 +177,7 @@ local.get $0 ) (func $gc/_dummy/__ref_link (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 112 + i32.const 120 i32.const 2 local.get $0 f64.convert_i32_u @@ -197,7 +197,7 @@ global.set $gc/_dummy/link_parentRef ) (func $gc/_dummy/__ref_unlink (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 176 + i32.const 184 i32.const 2 local.get $0 f64.convert_i32_u @@ -224,20 +224,20 @@ global.get $~lib/started i32.eqz if - i32.const 240 + i32.const 248 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $~lib/runtime/ROOT i32.const 1 global.set $~lib/started end - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $2 global.get $gc/_dummy/link_count local.set $0 @@ -255,7 +255,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 14 i32.const 2 call $~lib/env/abort @@ -266,7 +266,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 15 i32.const 2 call $~lib/env/abort @@ -277,7 +277,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 16 i32.const 2 call $~lib/env/abort @@ -297,7 +297,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 23 i32.const 2 call $~lib/env/abort @@ -310,7 +310,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 24 i32.const 2 call $~lib/env/abort @@ -321,7 +321,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 25 i32.const 2 call $~lib/env/abort @@ -333,7 +333,7 @@ local.set $0 global.get $gc/_dummy/collect_count local.set $1 - i32.const 216 + i32.const 224 i32.const 0 f64.const 0 f64.const 0 @@ -350,7 +350,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 32 i32.const 2 call $~lib/env/abort @@ -361,7 +361,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 33 i32.const 2 call $~lib/env/abort @@ -374,7 +374,7 @@ i32.ne if i32.const 0 - i32.const 144 + i32.const 152 i32.const 34 i32.const 2 call $~lib/env/abort diff --git a/tests/compiler/gc.untouched.wat b/tests/compiler/gc.untouched.wat index 852a8628..eb4ba1c9 100644 --- a/tests/compiler/gc.untouched.wat +++ b/tests/compiler/gc.untouched.wat @@ -9,12 +9,12 @@ (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))) (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\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\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00") - (data (i32.const 128) "\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00t\00s\00") - (data (i32.const 160) "\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 200) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\02\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00") + (data (i32.const 136) "\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00t\00s\00") + (data (i32.const 168) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00") + (data (i32.const 208) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -35,12 +35,12 @@ (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 236)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 244)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -137,7 +137,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -160,7 +160,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -176,7 +176,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -185,8 +185,8 @@ if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -202,8 +202,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -219,9 +219,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -231,15 +231,15 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) (func $gc/_dummy/__ref_link (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 112 + i32.const 120 i32.const 2 local.get $0 f64.convert_i32_u @@ -264,7 +264,7 @@ call $gc/_dummy/__ref_link ) (func $gc/_dummy/__ref_unlink (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) - i32.const 176 + i32.const 184 i32.const 2 local.get $0 f64.convert_i32_u @@ -289,7 +289,7 @@ call $gc/_dummy/__ref_unlink ) (func $gc/_dummy/__ref_collect (; 14 ;) (type $FUNCSIG$v) - i32.const 216 + i32.const 224 i32.const 0 f64.const 0 f64.const 0 @@ -336,7 +336,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 14 i32.const 2 call $~lib/env/abort @@ -348,7 +348,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 15 i32.const 2 call $~lib/env/abort @@ -360,7 +360,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 16 i32.const 2 call $~lib/env/abort @@ -380,7 +380,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 23 i32.const 2 call $~lib/env/abort @@ -394,7 +394,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 24 i32.const 2 call $~lib/env/abort @@ -406,7 +406,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 25 i32.const 2 call $~lib/env/abort @@ -425,7 +425,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 32 i32.const 2 call $~lib/env/abort @@ -437,7 +437,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 33 i32.const 2 call $~lib/env/abort @@ -451,7 +451,7 @@ i32.eqz if i32.const 0 - i32.const 144 + i32.const 152 i32.const 34 i32.const 2 call $~lib/env/abort diff --git a/tests/compiler/gc/global-assign.optimized.wat b/tests/compiler/gc/global-assign.optimized.wat index d3cbfae5..a4feb0e8 100644 --- a/tests/compiler/gc/global-assign.optimized.wat +++ b/tests/compiler/gc/global-assign.optimized.wat @@ -8,12 +8,12 @@ (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))) (memory $0 1) - (data (i32.const 8) "\02\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\16") - (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") + (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 104) "\02\00\00\00&") + (data (i32.const 120) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/register_count (mut i32) (i32.const 0)) @@ -29,7 +29,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/global-assign/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -92,7 +92,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -113,7 +113,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -129,16 +129,16 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 152 + i32.const 160 i32.le_u if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -152,8 +152,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -165,12 +165,12 @@ local.get $0 ) (func $start:gc/global-assign (; 6 ;) (type $FUNCSIG$v) - i32.const 152 + i32.const 160 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset - call $~lib/runtime/runtime.allocate - call $~lib/runtime/runtime.register + call $~lib/util/runtime/allocate + call $~lib/util/runtime/register global.set $gc/global-assign/global global.get $gc/global-assign/global global.set $gc/global-assign/globalRef @@ -179,7 +179,7 @@ i32.ne if i32.const 0 - i32.const 112 + i32.const 120 i32.const 11 i32.const 0 call $~lib/env/abort @@ -188,7 +188,7 @@ global.get $gc/_dummy/link_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 12 i32.const 0 call $~lib/env/abort @@ -197,21 +197,21 @@ global.get $gc/_dummy/unlink_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 13 i32.const 0 call $~lib/env/abort unreachable end - call $~lib/runtime/runtime.allocate - call $~lib/runtime/runtime.register + call $~lib/util/runtime/allocate + call $~lib/util/runtime/register global.set $gc/global-assign/global global.get $gc/_dummy/register_count i32.const 2 i32.ne if i32.const 0 - i32.const 112 + i32.const 120 i32.const 18 i32.const 0 call $~lib/env/abort @@ -220,7 +220,7 @@ global.get $gc/_dummy/link_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 19 i32.const 0 call $~lib/env/abort @@ -229,7 +229,7 @@ global.get $gc/_dummy/unlink_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 20 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/gc/global-assign.untouched.wat b/tests/compiler/gc/global-assign.untouched.wat index c85ab402..7abc9c7a 100644 --- a/tests/compiler/gc/global-assign.untouched.wat +++ b/tests/compiler/gc/global-assign.untouched.wat @@ -8,9 +8,9 @@ (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))) (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\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") + (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -32,12 +32,12 @@ (global $gc/global-assign/global (mut i32) (i32.const 0)) (global $gc/global-assign/globalRef (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 152)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 160)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/global-assign/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -134,7 +134,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -157,7 +157,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -173,7 +173,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -182,8 +182,8 @@ if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -199,8 +199,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -216,9 +216,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -245,7 +245,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 11 i32.const 0 call $~lib/env/abort @@ -257,7 +257,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 12 i32.const 0 call $~lib/env/abort @@ -269,7 +269,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 13 i32.const 0 call $~lib/env/abort @@ -284,7 +284,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 18 i32.const 0 call $~lib/env/abort @@ -296,7 +296,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 19 i32.const 0 call $~lib/env/abort @@ -308,7 +308,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 20 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/gc/global-init.optimized.wat b/tests/compiler/gc/global-init.optimized.wat index 544170fb..1356e330 100644 --- a/tests/compiler/gc/global-init.optimized.wat +++ b/tests/compiler/gc/global-init.optimized.wat @@ -8,12 +8,12 @@ (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))) (memory $0 1) - (data (i32.const 8) "\02\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\16") - (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") + (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 104) "\02\00\00\00\"") + (data (i32.const 120) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/register_count (mut i32) (i32.const 0)) @@ -28,7 +28,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/global-init/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -91,7 +91,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -112,7 +112,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -128,16 +128,16 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 148 + i32.const 156 i32.le_u if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -151,8 +151,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -164,19 +164,19 @@ local.get $0 ) (func $start:gc/global-init (; 6 ;) (type $FUNCSIG$v) - i32.const 152 + i32.const 160 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset - call $~lib/runtime/runtime.allocate - call $~lib/runtime/runtime.register + call $~lib/util/runtime/allocate + call $~lib/util/runtime/register global.set $gc/global-init/global global.get $gc/_dummy/register_count i32.const 1 i32.ne if i32.const 0 - i32.const 112 + i32.const 120 i32.const 10 i32.const 0 call $~lib/env/abort @@ -185,7 +185,7 @@ global.get $gc/_dummy/link_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 11 i32.const 0 call $~lib/env/abort @@ -194,21 +194,21 @@ global.get $gc/_dummy/unlink_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 12 i32.const 0 call $~lib/env/abort unreachable end - call $~lib/runtime/runtime.allocate - call $~lib/runtime/runtime.register + call $~lib/util/runtime/allocate + call $~lib/util/runtime/register global.set $gc/global-init/global global.get $gc/_dummy/register_count i32.const 2 i32.ne if i32.const 0 - i32.const 112 + i32.const 120 i32.const 15 i32.const 0 call $~lib/env/abort @@ -217,7 +217,7 @@ global.get $gc/_dummy/link_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 16 i32.const 0 call $~lib/env/abort @@ -226,7 +226,7 @@ global.get $gc/_dummy/unlink_count if i32.const 0 - i32.const 112 + i32.const 120 i32.const 17 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/gc/global-init.untouched.wat b/tests/compiler/gc/global-init.untouched.wat index 7f3ce6d2..12382a1e 100644 --- a/tests/compiler/gc/global-init.untouched.wat +++ b/tests/compiler/gc/global-init.untouched.wat @@ -8,9 +8,9 @@ (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))) (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\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") + (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\02\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -31,12 +31,12 @@ (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $gc/global-init/global (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 148)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 156)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/global-init/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -133,7 +133,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -156,7 +156,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -172,7 +172,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -181,8 +181,8 @@ if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -198,8 +198,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -215,9 +215,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -242,7 +242,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 10 i32.const 0 call $~lib/env/abort @@ -254,7 +254,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 11 i32.const 0 call $~lib/env/abort @@ -266,7 +266,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 12 i32.const 0 call $~lib/env/abort @@ -281,7 +281,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 15 i32.const 0 call $~lib/env/abort @@ -293,7 +293,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 16 i32.const 0 call $~lib/env/abort @@ -305,7 +305,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 17 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/gc/itcm/trace.optimized.wat b/tests/compiler/gc/itcm/trace.optimized.wat index 9284bdd4..f1f6a1f5 100644 --- a/tests/compiler/gc/itcm/trace.optimized.wat +++ b/tests/compiler/gc/itcm/trace.optimized.wat @@ -15,60 +15,58 @@ (data (i32.const 24) "g\00c\00/\00i\00t\00c\00m\00/\00t\00r\00a\00c\00e\00.\00t\00s") (data (i32.const 56) "\01\00\00\00\"") (data (i32.const 72) "#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)") - (data (i32.const 112) "\01\00\00\00\1e") - (data (i32.const 128) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 160) "\01\00\00\00\1a") - (data (i32.const 176) "i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 208) "\01\00\00\00\12") - (data (i32.const 224) "i\00t\00c\00m\00~\00i\00n\00i\00t") - (data (i32.const 248) "\01\00\00\00 ") - (data (i32.const 264) " \00 \00 \00 \00 \00f\00r\00o\00m\00S\00p\00a\00c\00e\00 \00=") - (data (i32.const 296) "\01\00\00\00\14") - (data (i32.const 312) " \00 \00 \00 \00 \00c\00l\00e\00a\00r") - (data (i32.const 336) "\01\00\00\00\1c") - (data (i32.const 352) " \00 \00 \00 \00 \00t\00o\00S\00p\00a\00c\00e\00 \00=") - (data (i32.const 384) "\01\00\00\00\"") - (data (i32.const 400) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00I\00D\00L\00E") - (data (i32.const 440) "\01\00\00\006") - (data (i32.const 456) " \00 \00 \00 \00 \00p\00u\00s\00h\00 \00[\00p\00r\00e\00v\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]") - (data (i32.const 512) "\01\00\00\00(") - (data (i32.const 528) "#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)") - (data (i32.const 568) "\01\00\00\00&") - (data (i32.const 584) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 624) "\01\00\00\00\12") - (data (i32.const 640) "i\00t\00c\00m\00.\00l\00i\00n\00k") - (data (i32.const 664) "\01\00\00\00\1a") - (data (i32.const 680) " \00 \00 \00 \00 \00m\00a\00k\00e\00G\00r\00a\00y") - (data (i32.const 712) "\01\00\00\00:") - (data (i32.const 728) " \00 \00 \00 \00 \00u\00n\00l\00i\00n\00k\00 \00[\00p\00r\00e\00f\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]") - (data (i32.const 792) "\01\00\00\00\1c") - (data (i32.const 808) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f") - (data (i32.const 840) "\01\00\00\00\1a") - (data (i32.const 856) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 888) "\01\00\00\00(") - (data (i32.const 904) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 944) "\01\00\00\00\1e") - (data (i32.const 960) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l") - (data (i32.const 992) "\01\00\00\00\16") - (data (i32.const 1008) "#\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)") - (data (i32.const 1032) "\01\00\00\00\18") - (data (i32.const 1048) "i\00t\00c\00m\00.\00c\00o\00l\00l\00e\00c\00t") - (data (i32.const 1072) "\01\00\00\00\1c") - (data (i32.const 1088) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00I\00D\00L\00E") - (data (i32.const 1120) "\01\00\00\00\"") - (data (i32.const 1136) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K") - (data (i32.const 1176) "\01\00\00\00\1c") - (data (i32.const 1192) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K") - (data (i32.const 1224) "\01\00\00\00*") - (data (i32.const 1240) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h") - (data (i32.const 1288) "\01\00\00\00$") - (data (i32.const 1304) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P") - (data (i32.const 1344) "\01\00\00\00(") - (data (i32.const 1360) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e") - (data (i32.const 1400) "\01\00\00\00,") - (data (i32.const 1416) "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 1464) "\01\00\00\00\12") - (data (i32.const 1480) "i\00t\00c\00m\00.\00m\00a\00r\00k") + (data (i32.const 112) "\01\00\00\00(") + (data (i32.const 128) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 168) "\01\00\00\00\1a") + (data (i32.const 184) "i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 216) "\01\00\00\00\12") + (data (i32.const 232) "i\00t\00c\00m\00~\00i\00n\00i\00t") + (data (i32.const 256) "\01\00\00\00 ") + (data (i32.const 272) " \00 \00 \00 \00 \00f\00r\00o\00m\00S\00p\00a\00c\00e\00 \00=") + (data (i32.const 304) "\01\00\00\00\14") + (data (i32.const 320) " \00 \00 \00 \00 \00c\00l\00e\00a\00r") + (data (i32.const 344) "\01\00\00\00\1c") + (data (i32.const 360) " \00 \00 \00 \00 \00t\00o\00S\00p\00a\00c\00e\00 \00=") + (data (i32.const 392) "\01\00\00\00\"") + (data (i32.const 408) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00I\00D\00L\00E") + (data (i32.const 448) "\01\00\00\006") + (data (i32.const 464) " \00 \00 \00 \00 \00p\00u\00s\00h\00 \00[\00p\00r\00e\00v\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]") + (data (i32.const 520) "\01\00\00\00(") + (data (i32.const 536) "#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)") + (data (i32.const 576) "\01\00\00\00&") + (data (i32.const 592) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 632) "\01\00\00\00\12") + (data (i32.const 648) "i\00t\00c\00m\00.\00l\00i\00n\00k") + (data (i32.const 672) "\01\00\00\00\1a") + (data (i32.const 688) " \00 \00 \00 \00 \00m\00a\00k\00e\00G\00r\00a\00y") + (data (i32.const 720) "\01\00\00\00:") + (data (i32.const 736) " \00 \00 \00 \00 \00u\00n\00l\00i\00n\00k\00 \00[\00p\00r\00e\00f\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]") + (data (i32.const 800) "\01\00\00\00\1c") + (data (i32.const 816) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f") + (data (i32.const 848) "\01\00\00\00\1a") + (data (i32.const 864) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 896) "\01\00\00\00\1e") + (data (i32.const 912) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l") + (data (i32.const 944) "\01\00\00\00\16") + (data (i32.const 960) "#\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)") + (data (i32.const 984) "\01\00\00\00\18") + (data (i32.const 1000) "i\00t\00c\00m\00.\00c\00o\00l\00l\00e\00c\00t") + (data (i32.const 1024) "\01\00\00\00\1c") + (data (i32.const 1040) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00I\00D\00L\00E") + (data (i32.const 1072) "\01\00\00\00\"") + (data (i32.const 1088) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K") + (data (i32.const 1128) "\01\00\00\00\1c") + (data (i32.const 1144) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K") + (data (i32.const 1176) "\01\00\00\00*") + (data (i32.const 1192) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h") + (data (i32.const 1240) "\01\00\00\00$") + (data (i32.const 1256) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P") + (data (i32.const 1296) "\01\00\00\00(") + (data (i32.const 1312) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e") + (data (i32.const 1352) "\01\00\00\00,") + (data (i32.const 1368) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h") + (data (i32.const 1416) "\01\00\00\00\12") + (data (i32.const 1432) "i\00t\00c\00m\00.\00m\00a\00r\00k") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -83,7 +81,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/itcm/trace/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -146,7 +144,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -174,7 +172,7 @@ i32.add ) (func $~lib/collector/itcm/ManagedObjectList#clear (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 312 + i32.const 320 i32.const 1 local.get $0 i32.const 16 @@ -197,7 +195,7 @@ global.get $~lib/collector/itcm/state i32.eqz if - i32.const 224 + i32.const 232 i32.const 0 f64.const 0 f64.const 0 @@ -208,7 +206,7 @@ i32.const 16 call $~lib/allocator/arena/__mem_allocate global.set $~lib/collector/itcm/fromSpace - i32.const 264 + i32.const 272 i32.const 1 global.get $~lib/collector/itcm/fromSpace i32.const 16 @@ -231,7 +229,7 @@ i32.const 16 call $~lib/allocator/arena/__mem_allocate global.set $~lib/collector/itcm/toSpace - i32.const 352 + i32.const 360 i32.const 1 global.get $~lib/collector/itcm/toSpace i32.const 16 @@ -255,7 +253,7 @@ global.set $~lib/collector/itcm/iter i32.const 1 global.set $~lib/collector/itcm/state - i32.const 400 + i32.const 408 i32.const 0 f64.const 0 f64.const 0 @@ -267,7 +265,7 @@ ) (func $~lib/collector/itcm/ManagedObjectList#push (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) - i32.const 456 + i32.const 464 i32.const 3 local.get $0 i32.load offset=12 @@ -310,7 +308,7 @@ i32.store offset=12 ) (func $~lib/collector/itcm/__ref_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 176 + i32.const 184 i32.const 1 local.get $0 f64.convert_i32_u @@ -335,16 +333,16 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 1500 + i32.const 1452 i32.le_u if i32.const 0 i32.const 128 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -358,8 +356,8 @@ if i32.const 0 i32.const 128 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -373,9 +371,9 @@ (func $gc/itcm/trace/Ref#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -594,7 +592,7 @@ ) (func $~lib/collector/itcm/ManagedObject#unlink (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - i32.const 728 + i32.const 736 i32.const 3 local.get $0 i32.load offset=12 @@ -630,7 +628,7 @@ i32.store offset=8 ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 680 + i32.const 688 i32.const 1 local.get $0 i32.const 16 @@ -665,7 +663,7 @@ ) (func $~lib/collector/itcm/__ref_link (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) - i32.const 640 + i32.const 648 i32.const 2 local.get $0 f64.convert_i32_u @@ -707,21 +705,21 @@ (func $~lib/arraybuffer/ArrayBufferView#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 i32.const 4 call $~lib/memory/memory.fill local.get $1 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $1 local.get $0 i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -948,7 +946,7 @@ i32.shl i32.const 0 local.get $0 - i32.const 1500 + i32.const 1452 i32.gt_u select i32.const 32 @@ -986,12 +984,12 @@ i32.eq if local.get $0 - i32.const 1500 + i32.const 1452 i32.le_u if i32.const 0 - i32.const 904 - i32.const 74 + i32.const 128 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable @@ -1111,7 +1109,7 @@ call $~lib/env/trace call $gc/itcm/trace/Ref#constructor local.set $1 - i32.const 528 + i32.const 536 i32.const 0 f64.const 0 f64.const 0 @@ -1120,9 +1118,9 @@ f64.const 0 call $~lib/env/trace i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 i32.const 0 @@ -1130,7 +1128,7 @@ local.get $0 i32.const 1 i32.store offset=12 - i32.const 808 + i32.const 816 i32.const 0 f64.const 0 f64.const 0 @@ -1141,7 +1139,7 @@ local.get $0 local.get $1 call $~lib/array/Array#__set - i32.const 960 + i32.const 912 i32.const 0 f64.const 0 f64.const 0 @@ -1152,7 +1150,7 @@ local.get $0 i32.const 0 call $~lib/array/Array#__set - i32.const 1008 + i32.const 960 i32.const 0 f64.const 0 f64.const 0 @@ -1180,7 +1178,7 @@ end unreachable end - i32.const 1088 + i32.const 1040 i32.const 0 f64.const 0 f64.const 0 @@ -1190,7 +1188,7 @@ call $~lib/env/trace i32.const 2 global.set $~lib/collector/itcm/state - i32.const 1136 + i32.const 1088 i32.const 0 f64.const 0 f64.const 0 @@ -1208,7 +1206,7 @@ global.get $~lib/collector/itcm/toSpace i32.ne if - i32.const 1192 + i32.const 1144 i32.const 1 local.get $0 i32.const 16 @@ -1236,7 +1234,7 @@ local.get $1 call $~lib/runtime/__gc_mark_members else - i32.const 1240 + i32.const 1192 i32.const 0 f64.const 0 f64.const 0 @@ -1267,7 +1265,7 @@ global.set $~lib/collector/itcm/iter i32.const 3 global.set $~lib/collector/itcm/state - i32.const 1304 + i32.const 1256 i32.const 0 f64.const 0 f64.const 0 @@ -1284,7 +1282,7 @@ global.get $~lib/collector/itcm/toSpace i32.ne if - i32.const 1360 + i32.const 1312 i32.const 1 local.get $0 i32.const 16 @@ -1301,7 +1299,7 @@ i32.and global.set $~lib/collector/itcm/iter else - i32.const 1416 + i32.const 1368 i32.const 0 f64.const 0 f64.const 0 @@ -1313,7 +1311,7 @@ call $~lib/collector/itcm/ManagedObjectList#clear i32.const 1 global.set $~lib/collector/itcm/state - i32.const 400 + i32.const 408 i32.const 0 f64.const 0 f64.const 0 @@ -1325,7 +1323,7 @@ end ) (func $~lib/collector/itcm/__ref_collect (; 22 ;) (type $FUNCSIG$v) - i32.const 1048 + i32.const 1000 i32.const 0 f64.const 0 f64.const 0 @@ -1355,7 +1353,7 @@ global.get $~lib/started i32.eqz if - i32.const 1504 + i32.const 1456 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -1366,7 +1364,7 @@ end ) (func $~lib/collector/itcm/__ref_mark (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 1480 + i32.const 1432 i32.const 1 local.get $0 f64.convert_i32_u diff --git a/tests/compiler/gc/itcm/trace.untouched.wat b/tests/compiler/gc/itcm/trace.untouched.wat index 9dd9bb57..a9e42ed9 100644 --- a/tests/compiler/gc/itcm/trace.untouched.wat +++ b/tests/compiler/gc/itcm/trace.untouched.wat @@ -13,33 +13,32 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00i\00t\00c\00m\00/\00t\00r\00a\00c\00e\00.\00t\00s\00") (data (i32.const 56) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00") - (data (i32.const 112) "\01\00\00\00\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 160) "\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 208) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00i\00n\00i\00t\00") - (data (i32.const 248) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00f\00r\00o\00m\00S\00p\00a\00c\00e\00 \00=\00") - (data (i32.const 296) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00c\00l\00e\00a\00r\00") - (data (i32.const 336) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00t\00o\00S\00p\00a\00c\00e\00 \00=\00") - (data (i32.const 384) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00I\00D\00L\00E\00") - (data (i32.const 440) "\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 512) "\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 568) "\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 624) "\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 664) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00m\00a\00k\00e\00G\00r\00a\00y\00") - (data (i32.const 712) "\01\00\00\00:\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00u\00n\00l\00i\00n\00k\00 \00[\00p\00r\00e\00f\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00") - (data (i32.const 792) "\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 840) "\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 888) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 944) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l\00") - (data (i32.const 992) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00#\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00") - (data (i32.const 1032) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00c\00o\00l\00l\00e\00c\00t\00") - (data (i32.const 1072) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00I\00D\00L\00E\00") - (data (i32.const 1120) "\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 1176) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00") - (data (i32.const 1224) "\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 1288) "\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 1344) "\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 1400) "\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 1464) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00m\00a\00r\00k\00") + (data (i32.const 112) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 168) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 216) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00i\00n\00i\00t\00") + (data (i32.const 256) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00f\00r\00o\00m\00S\00p\00a\00c\00e\00 \00=\00") + (data (i32.const 304) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00c\00l\00e\00a\00r\00") + (data (i32.const 344) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00t\00o\00S\00p\00a\00c\00e\00 \00=\00") + (data (i32.const 392) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00I\00D\00L\00E\00") + (data (i32.const 448) "\01\00\00\006\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00p\00u\00s\00h\00 \00[\00p\00r\00e\00v\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00") + (data (i32.const 520) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)\00") + (data (i32.const 576) "\01\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 632) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00l\00i\00n\00k\00") + (data (i32.const 672) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00m\00a\00k\00e\00G\00r\00a\00y\00") + (data (i32.const 720) "\01\00\00\00:\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00u\00n\00l\00i\00n\00k\00 \00[\00p\00r\00e\00f\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00") + (data (i32.const 800) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f\00") + (data (i32.const 848) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 896) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l\00") + (data (i32.const 944) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00#\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00") + (data (i32.const 984) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00c\00o\00l\00l\00e\00c\00t\00") + (data (i32.const 1024) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00I\00D\00L\00E\00") + (data (i32.const 1072) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K\00") + (data (i32.const 1128) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00") + (data (i32.const 1176) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h\00") + (data (i32.const 1240) "\01\00\00\00$\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P\00") + (data (i32.const 1296) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e\00") + (data (i32.const 1352) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h\00") + (data (i32.const 1416) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00m\00a\00r\00k\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/itcm/trace/GC_TRACE i32 (i32.const 1)) @@ -55,12 +54,12 @@ (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 1500)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 1452)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/itcm/trace/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -157,7 +156,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -181,7 +180,7 @@ ) (func $~lib/collector/itcm/ManagedObjectList#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - i32.const 312 + i32.const 320 i32.const 1 block $~lib/collector/itcm/objToRef|inlined.1 (result i32) local.get $0 @@ -209,7 +208,7 @@ i32.const 0 i32.eq if - i32.const 224 + i32.const 232 i32.const 0 f64.const 0 f64.const 0 @@ -220,7 +219,7 @@ global.get $~lib/util/runtime/HEADER_SIZE call $~lib/memory/memory.allocate global.set $~lib/collector/itcm/fromSpace - i32.const 264 + i32.const 272 i32.const 1 block $~lib/collector/itcm/objToRef|inlined.0 (result i32) global.get $~lib/collector/itcm/fromSpace @@ -246,7 +245,7 @@ global.get $~lib/util/runtime/HEADER_SIZE call $~lib/memory/memory.allocate global.set $~lib/collector/itcm/toSpace - i32.const 352 + i32.const 360 i32.const 1 block $~lib/collector/itcm/objToRef|inlined.2 (result i32) global.get $~lib/collector/itcm/toSpace @@ -273,7 +272,7 @@ global.set $~lib/collector/itcm/iter i32.const 1 global.set $~lib/collector/itcm/state - i32.const 400 + i32.const 408 i32.const 0 f64.const 0 f64.const 0 @@ -311,7 +310,7 @@ local.get $0 i32.load offset=12 local.set $2 - i32.const 456 + i32.const 464 i32.const 3 block $~lib/collector/itcm/objToRef|inlined.3 (result i32) local.get $2 @@ -356,7 +355,7 @@ (func $~lib/collector/itcm/__ref_register (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) - i32.const 176 + i32.const 184 i32.const 1 local.get $0 f64.convert_i32_u @@ -381,7 +380,7 @@ local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -390,8 +389,8 @@ if i32.const 0 i32.const 128 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -407,8 +406,8 @@ if i32.const 0 i32.const 128 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -424,9 +423,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -698,14 +697,14 @@ i32.gt_u if i32.const 0 - i32.const 584 + i32.const 592 i32.const 54 i32.const 43 call $~lib/env/abort unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -713,7 +712,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/collector/itcm/ManagedObject#get:color (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -739,7 +738,7 @@ local.get $0 i32.load offset=12 local.set $2 - i32.const 728 + i32.const 736 i32.const 3 block $~lib/collector/itcm/objToRef|inlined.7 (result i32) local.get $2 @@ -777,7 +776,7 @@ ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) - i32.const 680 + i32.const 688 i32.const 1 block $~lib/collector/itcm/objToRef|inlined.6 (result i32) local.get $0 @@ -819,7 +818,7 @@ (func $~lib/collector/itcm/__ref_link (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - i32.const 640 + i32.const 648 i32.const 2 local.get $0 f64.convert_i32_u @@ -875,7 +874,7 @@ i32.gt_u if i32.const 0 - i32.const 584 + i32.const 592 i32.const 12 i32.const 57 call $~lib/env/abort @@ -893,9 +892,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -940,9 +939,9 @@ local.get $0 else i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 2 @@ -1242,8 +1241,8 @@ i32.eqz if i32.const 0 - i32.const 904 - i32.const 74 + i32.const 128 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable @@ -1297,7 +1296,7 @@ i32.gt_u if i32.const 0 - i32.const 856 + i32.const 864 i32.const 14 i32.const 64 call $~lib/env/abort @@ -1415,7 +1414,7 @@ i32.const 0 call $gc/itcm/trace/Ref#constructor local.set $0 - i32.const 528 + i32.const 536 i32.const 0 f64.const 0 f64.const 0 @@ -1427,7 +1426,7 @@ i32.const 1 call $~lib/array/Array#constructor local.set $1 - i32.const 808 + i32.const 816 i32.const 0 f64.const 0 f64.const 0 @@ -1439,7 +1438,7 @@ i32.const 0 local.get $0 call $~lib/array/Array#__set - i32.const 960 + i32.const 912 i32.const 0 f64.const 0 f64.const 0 @@ -1451,7 +1450,7 @@ i32.const 0 i32.const 0 call $~lib/array/Array#__set - i32.const 1008 + i32.const 960 i32.const 0 f64.const 0 f64.const 0 @@ -1494,7 +1493,7 @@ unreachable end block - i32.const 1088 + i32.const 1040 i32.const 0 f64.const 0 f64.const 0 @@ -1505,7 +1504,7 @@ call $~lib/runtime/__gc_mark_roots i32.const 2 global.set $~lib/collector/itcm/state - i32.const 1136 + i32.const 1088 i32.const 0 f64.const 0 f64.const 0 @@ -1526,7 +1525,7 @@ global.get $~lib/collector/itcm/toSpace i32.ne if - i32.const 1192 + i32.const 1144 i32.const 1 block $~lib/collector/itcm/objToRef|inlined.10 (result i32) local.get $0 @@ -1559,7 +1558,7 @@ call $~lib/runtime/__gc_mark_members else call $~lib/runtime/__gc_mark_roots - i32.const 1240 + i32.const 1192 i32.const 0 f64.const 0 f64.const 0 @@ -1588,7 +1587,7 @@ global.set $~lib/collector/itcm/iter i32.const 3 global.set $~lib/collector/itcm/state - i32.const 1304 + i32.const 1256 i32.const 0 f64.const 0 f64.const 0 @@ -1610,7 +1609,7 @@ global.get $~lib/collector/itcm/toSpace i32.ne if - i32.const 1360 + i32.const 1312 i32.const 1 block $~lib/collector/itcm/objToRef|inlined.12 (result i32) local.get $0 @@ -1636,7 +1635,7 @@ call $~lib/memory/memory.free end else - i32.const 1416 + i32.const 1368 i32.const 0 f64.const 0 f64.const 0 @@ -1648,7 +1647,7 @@ call $~lib/collector/itcm/ManagedObjectList#clear i32.const 1 global.set $~lib/collector/itcm/state - i32.const 400 + i32.const 408 i32.const 0 f64.const 0 f64.const 0 @@ -1664,7 +1663,7 @@ end ) (func $~lib/collector/itcm/__ref_collect (; 32 ;) (type $FUNCSIG$v) - i32.const 1048 + i32.const 1000 i32.const 0 f64.const 0 f64.const 0 @@ -1738,7 +1737,7 @@ (func $~lib/collector/itcm/__ref_mark (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) - i32.const 1480 + i32.const 1432 i32.const 1 local.get $0 f64.convert_i32_u diff --git a/tests/compiler/gc/rc/global-assign.optimized.wat b/tests/compiler/gc/rc/global-assign.optimized.wat index 5540b9bb..3b0256a7 100644 --- a/tests/compiler/gc/rc/global-assign.optimized.wat +++ b/tests/compiler/gc/rc/global-assign.optimized.wat @@ -8,16 +8,16 @@ (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))) (memory $0 1) - (data (i32.const 8) "\02\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\16") - (data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 96) "\02\00\00\00\12") - (data (i32.const 112) "g\00c\00.\00r\00e\00t\00a\00i\00n") - (data (i32.const 136) "\02\00\00\00,") - (data (i32.const 152) "g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s") - (data (i32.const 200) "\02\00\00\00\14") - (data (i32.const 216) "g\00c\00.\00r\00e\00l\00e\00a\00s\00e") + (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 104) "\02\00\00\00\12") + (data (i32.const 120) "g\00c\00.\00r\00e\00t\00a\00i\00n") + (data (i32.const 144) "\02\00\00\00,") + (data (i32.const 160) "g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s") + (data (i32.const 208) "\02\00\00\00\14") + (data (i32.const 224) "g\00c\00.\00r\00e\00l\00e\00a\00s\00e") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/rc/_dummy/register_count (mut i32) (i32.const 0)) @@ -35,7 +35,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/rc/global-assign/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -98,7 +98,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -119,7 +119,7 @@ i32.add ) (func $gc/rc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -135,16 +135,16 @@ local.get $0 global.set $gc/rc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 236 + i32.const 244 i32.le_u if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -158,8 +158,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -171,7 +171,7 @@ local.get $0 ) (func $gc/rc/_dummy/__ref_retain (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 112 + i32.const 120 i32.const 1 local.get $0 f64.convert_i32_u @@ -188,7 +188,7 @@ global.set $gc/rc/_dummy/retain_ref ) (func $gc/rc/_dummy/__ref_release (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 216 + i32.const 224 i32.const 1 local.get $0 f64.convert_i32_u @@ -207,12 +207,12 @@ (func $start:gc/rc/global-assign (; 8 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - i32.const 240 + i32.const 248 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset - call $~lib/runtime/runtime.allocate - call $~lib/runtime/runtime.register + call $~lib/util/runtime/allocate + call $~lib/util/runtime/register local.tee $0 call $gc/rc/_dummy/__ref_retain local.get $0 @@ -224,7 +224,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 11 i32.const 0 call $~lib/env/abort @@ -235,7 +235,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 12 i32.const 0 call $~lib/env/abort @@ -246,7 +246,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 13 i32.const 0 call $~lib/env/abort @@ -255,14 +255,14 @@ global.get $gc/rc/_dummy/release_count if i32.const 0 - i32.const 152 + i32.const 160 i32.const 14 i32.const 0 call $~lib/env/abort unreachable end - call $~lib/runtime/runtime.allocate - call $~lib/runtime/runtime.register + call $~lib/util/runtime/allocate + call $~lib/util/runtime/register local.set $0 local.get $0 global.get $gc/rc/global-assign/global @@ -284,7 +284,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 19 i32.const 0 call $~lib/env/abort @@ -295,7 +295,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 20 i32.const 0 call $~lib/env/abort @@ -306,7 +306,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 21 i32.const 0 call $~lib/env/abort @@ -317,7 +317,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 22 i32.const 0 call $~lib/env/abort @@ -328,7 +328,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 23 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/gc/rc/global-assign.untouched.wat b/tests/compiler/gc/rc/global-assign.untouched.wat index 77583c5e..c6256f40 100644 --- a/tests/compiler/gc/rc/global-assign.untouched.wat +++ b/tests/compiler/gc/rc/global-assign.untouched.wat @@ -8,11 +8,11 @@ (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))) (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\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\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") - (data (i32.const 136) "\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00") - (data (i32.const 200) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00l\00e\00a\00s\00e\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") + (data (i32.const 144) "\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00") + (data (i32.const 208) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00l\00e\00a\00s\00e\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/rc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -30,12 +30,12 @@ (global $gc/rc/global-assign/global (mut i32) (i32.const 0)) (global $gc/rc/global-assign/globalRef (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 236)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 244)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/rc/global-assign/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -132,7 +132,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -155,7 +155,7 @@ i32.add ) (func $gc/rc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -171,7 +171,7 @@ local.get $0 global.set $gc/rc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -180,8 +180,8 @@ if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -197,8 +197,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -214,15 +214,15 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) (func $gc/rc/_dummy/__ref_retain (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 112 + i32.const 120 i32.const 1 local.get $0 f64.convert_i32_u @@ -239,7 +239,7 @@ global.set $gc/rc/_dummy/retain_ref ) (func $gc/rc/_dummy/__ref_release (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 216 + i32.const 224 i32.const 1 local.get $0 f64.convert_i32_u @@ -285,7 +285,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 11 i32.const 0 call $~lib/env/abort @@ -297,7 +297,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 12 i32.const 0 call $~lib/env/abort @@ -309,7 +309,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 13 i32.const 0 call $~lib/env/abort @@ -321,7 +321,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 14 i32.const 0 call $~lib/env/abort @@ -352,7 +352,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 19 i32.const 0 call $~lib/env/abort @@ -364,7 +364,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 20 i32.const 0 call $~lib/env/abort @@ -376,7 +376,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 21 i32.const 0 call $~lib/env/abort @@ -388,7 +388,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 22 i32.const 0 call $~lib/env/abort @@ -400,7 +400,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 23 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/gc/rc/global-init.optimized.wat b/tests/compiler/gc/rc/global-init.optimized.wat index e1d5cc9b..0eb4ffcc 100644 --- a/tests/compiler/gc/rc/global-init.optimized.wat +++ b/tests/compiler/gc/rc/global-init.optimized.wat @@ -8,14 +8,14 @@ (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))) (memory $0 1) - (data (i32.const 8) "\02\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\16") - (data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") - (data (i32.const 96) "\02\00\00\00\12") - (data (i32.const 112) "g\00c\00.\00r\00e\00t\00a\00i\00n") - (data (i32.const 136) "\02\00\00\00(") - (data (i32.const 152) "g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\02\00\00\00\16") + (data (i32.const 80) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 104) "\02\00\00\00\12") + (data (i32.const 120) "g\00c\00.\00r\00e\00t\00a\00i\00n") + (data (i32.const 144) "\02\00\00\00(") + (data (i32.const 160) "g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/rc/_dummy/register_count (mut i32) (i32.const 0)) @@ -31,7 +31,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/rc/global-init/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -94,7 +94,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -115,7 +115,7 @@ i32.add ) (func $gc/rc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -131,16 +131,16 @@ local.get $0 global.set $gc/rc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 192 + i32.const 200 i32.le_u if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -154,8 +154,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -167,7 +167,7 @@ local.get $0 ) (func $gc/rc/_dummy/__ref_retain (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 112 + i32.const 120 i32.const 1 local.get $0 f64.convert_i32_u @@ -185,12 +185,12 @@ ) (func $start:gc/rc/global-init (; 7 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 192 + i32.const 200 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset - call $~lib/runtime/runtime.allocate - call $~lib/runtime/runtime.register + call $~lib/util/runtime/allocate + call $~lib/util/runtime/register local.tee $0 call $gc/rc/_dummy/__ref_retain local.get $0 @@ -200,7 +200,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 10 i32.const 0 call $~lib/env/abort @@ -211,7 +211,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 11 i32.const 0 call $~lib/env/abort @@ -222,7 +222,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 12 i32.const 0 call $~lib/env/abort @@ -231,7 +231,7 @@ global.get $gc/rc/_dummy/release_count if i32.const 0 - i32.const 152 + i32.const 160 i32.const 13 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/gc/rc/global-init.untouched.wat b/tests/compiler/gc/rc/global-init.untouched.wat index f81bb65e..e39ae50e 100644 --- a/tests/compiler/gc/rc/global-init.untouched.wat +++ b/tests/compiler/gc/rc/global-init.untouched.wat @@ -8,10 +8,10 @@ (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))) (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\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\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") - (data (i32.const 136) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") + (data (i32.const 104) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00t\00a\00i\00n\00") + (data (i32.const 144) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00r\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/rc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -28,12 +28,12 @@ (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $gc/rc/global-init/global (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 192)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 200)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $gc/rc/global-init/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -130,7 +130,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -153,7 +153,7 @@ i32.add ) (func $gc/rc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 72 + i32.const 80 i32.const 1 local.get $0 f64.convert_i32_u @@ -169,7 +169,7 @@ local.get $0 global.set $gc/rc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -178,8 +178,8 @@ if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -195,8 +195,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -212,15 +212,15 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) (func $gc/rc/_dummy/__ref_retain (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 112 + i32.const 120 i32.const 1 local.get $0 f64.convert_i32_u @@ -263,7 +263,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 10 i32.const 0 call $~lib/env/abort @@ -275,7 +275,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 11 i32.const 0 call $~lib/env/abort @@ -287,7 +287,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 12 i32.const 0 call $~lib/env/abort @@ -299,7 +299,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 13 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/getter-call.optimized.wat b/tests/compiler/getter-call.optimized.wat index addde4de..480d871d 100644 --- a/tests/compiler/getter-call.optimized.wat +++ b/tests/compiler/getter-call.optimized.wat @@ -5,7 +5,7 @@ (type $FUNCSIG$v (func)) (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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 2 funcref) (elem (i32.const 0) $null $getter-call/C#get:x~anonymous|0) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -77,16 +77,16 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.register (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 48 + i32.const 56 i32.le_u if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -100,8 +100,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -126,7 +126,7 @@ local.get $0 i32.const 8 i32.add - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register drop i32.const 0 global.set $~lib/argc @@ -134,7 +134,7 @@ call_indirect (type $FUNCSIG$i) ) (func $start (; 5 ;) (type $FUNCSIG$v) - i32.const 48 + i32.const 56 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/getter-call.untouched.wat b/tests/compiler/getter-call.untouched.wat index 016b0dda..08c98f90 100644 --- a/tests/compiler/getter-call.untouched.wat +++ b/tests/compiler/getter-call.untouched.wat @@ -6,7 +6,7 @@ (type $FUNCSIG$v (func)) (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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 2 funcref) (elem (i32.const 0) $null $getter-call/C#get:x~anonymous|0) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -15,7 +15,7 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 48)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (export "memory" (memory $0)) (export "table" (table $0)) (export "test" (func $getter-call/test)) @@ -116,7 +116,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -132,7 +132,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -141,8 +141,8 @@ if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -158,8 +158,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -173,9 +173,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/inlining.optimized.wat b/tests/compiler/inlining.optimized.wat index 428f93cf..a3381170 100644 --- a/tests/compiler/inlining.optimized.wat +++ b/tests/compiler/inlining.optimized.wat @@ -7,7 +7,7 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") - (data (i32.const 40) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 2 funcref) (elem (i32.const 0) $null $inlining/func_fe~anonymous|0) (global $~lib/argc (mut i32) (i32.const 0)) @@ -102,7 +102,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -123,16 +123,16 @@ i32.const 8 i32.add ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 80 + i32.const 88 i32.le_u if i32.const 0 i32.const 48 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -146,8 +146,8 @@ if i32.const 0 i32.const 48 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -159,16 +159,16 @@ (func $inlining/test_ctor (; 7 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -240,7 +240,7 @@ ) (func $start (; 8 ;) (type $FUNCSIG$v) call $inlining/test_funcs - i32.const 80 + i32.const 88 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/inlining.untouched.wat b/tests/compiler/inlining.untouched.wat index cd470d1c..eefe1e82 100644 --- a/tests/compiler/inlining.untouched.wat +++ b/tests/compiler/inlining.untouched.wat @@ -7,7 +7,7 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 2 funcref) (elem (i32.const 0) $null $inlining/func_fe~anonymous|0) (global $inlining/constantGlobal i32 (i32.const 1)) @@ -17,7 +17,7 @@ (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 80)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 88)) (export "memory" (memory $0)) (export "table" (table $0)) (export "test" (func $inlining/test)) @@ -380,7 +380,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -396,7 +396,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/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 @@ -405,8 +405,8 @@ if i32.const 0 i32.const 48 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -422,8 +422,8 @@ if i32.const 0 i32.const 48 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -449,9 +449,9 @@ local.get $1 else i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.set $3 i32.const 2 @@ -461,9 +461,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $3 end local.get $3 diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 6b8a9e92..de76f515 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -12,28 +12,28 @@ (data (i32.const 8) "\01\00\00\00\02\00\00\000") (data (i32.const 24) "\02\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") (data (i32.const 432) "\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\90\01\00\00d") - (data (i32.const 456) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 496) "\01\00\00\00\02\00\00\001") - (data (i32.const 512) "\01\00\00\00\12\00\00\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 544) "\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 560) "\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 576) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 608) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 632) "\02\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -682,7 +682,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 1624 + i32.const 1632 i32.load offset=4 local.set $16 block $break|0 @@ -1908,11 +1908,11 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 1344 + i32.const 1352 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_frc_pow - i32.const 1552 + i32.const 1560 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_exp_pow @@ -2192,8 +2192,8 @@ i32.eqz if i32.const 0 - i32.const 1648 - i32.const 197 + i32.const 1656 + i32.const 203 i32.const 4 call $~lib/env/abort unreachable @@ -2262,7 +2262,7 @@ local.get $3 i32.eqz if - i32.const 1688 + i32.const 1696 return end local.get $8 @@ -2283,7 +2283,7 @@ return end local.get $3 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $10 local.get $10 local.get $0 @@ -2293,7 +2293,7 @@ call $~lib/memory/memory.copy local.get $10 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/allocator/arena/__mem_free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) nop @@ -2302,7 +2302,7 @@ local.get $0 call $~lib/allocator/arena/__mem_free ) - (func $~lib/runtime/runtime.discard (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/discard (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -2311,8 +2311,8 @@ if i32.const 0 i32.const 464 - i32.const 68 - i32.const 6 + i32.const 114 + i32.const 4 call $~lib/env/abort unreachable end @@ -2328,8 +2328,8 @@ if i32.const 0 i32.const 464 - i32.const 70 - i32.const 6 + i32.const 116 + i32.const 4 call $~lib/env/abort unreachable end @@ -2344,7 +2344,7 @@ f64.const 0 f64.eq if - i32.const 552 + i32.const 560 return end local.get $0 @@ -2354,11 +2354,11 @@ local.get $0 call $~lib/builtins/isNaN if - i32.const 568 + i32.const 576 return end - i32.const 584 - i32.const 616 + i32.const 592 + i32.const 624 local.get $0 f64.const 0 f64.lt @@ -2368,7 +2368,7 @@ i32.const 28 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $1 local.get $0 @@ -2380,7 +2380,7 @@ call $~lib/string/String#substring local.set $3 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $3 ) (func $~lib/number/F64#toString (; 27 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) @@ -2392,9 +2392,9 @@ i32.const 0 i32.ne if (result i32) - i32.const 1776 + i32.const 1784 else - i32.const 1792 + i32.const 1800 end ) (func $~lib/builtins/isNaN (; 29 ;) (type $FUNCSIG$if) (param $0 f32) (result i32) @@ -2483,12 +2483,12 @@ global.set $~lib/allocator/arena/offset global.get $number/a call $~lib/number/I32#toString - i32.const 504 + i32.const 512 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 5 i32.const 0 call $~lib/env/abort @@ -2496,12 +2496,12 @@ end f64.const 2 call $~lib/number/F64#toString - i32.const 1696 + i32.const 1704 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 7 i32.const 0 call $~lib/env/abort @@ -2509,12 +2509,12 @@ end i32.const 3 call $~lib/number/I32#toString - i32.const 1712 + i32.const 1720 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 8 i32.const 0 call $~lib/env/abort @@ -2522,12 +2522,12 @@ end i32.const -5 call $~lib/number/I32#toString - i32.const 1728 + i32.const 1736 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 10 i32.const 0 call $~lib/env/abort @@ -2535,12 +2535,12 @@ end i32.const 4 call $~lib/number/I32#toString - i32.const 1744 + i32.const 1752 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 11 i32.const 0 call $~lib/env/abort @@ -2555,12 +2555,12 @@ local.get $0 end call $~lib/number/I32#toString - i32.const 1760 + i32.const 1768 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 12 i32.const 0 call $~lib/env/abort @@ -2575,12 +2575,12 @@ local.get $0 end call $~lib/number/I32#toString - i32.const 504 + i32.const 512 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 13 i32.const 0 call $~lib/env/abort @@ -2589,12 +2589,12 @@ i32.const 0 i32.eqz call $~lib/number/Bool#toString - i32.const 1776 + i32.const 1784 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 14 i32.const 0 call $~lib/env/abort @@ -2603,12 +2603,12 @@ i32.const 1 i32.eqz call $~lib/number/Bool#toString - i32.const 1792 + i32.const 1800 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 15 i32.const 0 call $~lib/env/abort @@ -2623,12 +2623,12 @@ local.get $0 end call $~lib/number/I32#toString - i32.const 504 + i32.const 512 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 18 i32.const 0 call $~lib/env/abort @@ -2643,12 +2643,12 @@ local.get $0 end call $~lib/number/I32#toString - i32.const 1760 + i32.const 1768 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 19 i32.const 0 call $~lib/env/abort @@ -2659,7 +2659,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 23 i32.const 0 call $~lib/env/abort @@ -2674,7 +2674,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 25 i32.const 0 call $~lib/env/abort @@ -2687,7 +2687,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 26 i32.const 0 call $~lib/env/abort @@ -2700,7 +2700,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 27 i32.const 0 call $~lib/env/abort @@ -2713,7 +2713,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 28 i32.const 0 call $~lib/env/abort @@ -2726,7 +2726,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 29 i32.const 0 call $~lib/env/abort @@ -2739,7 +2739,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 30 i32.const 0 call $~lib/env/abort @@ -2752,7 +2752,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 31 i32.const 0 call $~lib/env/abort @@ -2767,7 +2767,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 32 i32.const 0 call $~lib/env/abort @@ -2780,7 +2780,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 33 i32.const 0 call $~lib/env/abort @@ -2793,7 +2793,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 34 i32.const 0 call $~lib/env/abort @@ -2806,7 +2806,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 35 i32.const 0 call $~lib/env/abort @@ -2819,7 +2819,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 36 i32.const 0 call $~lib/env/abort @@ -2832,7 +2832,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 37 i32.const 0 call $~lib/env/abort @@ -2845,7 +2845,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 38 i32.const 0 call $~lib/env/abort @@ -2858,7 +2858,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 39 i32.const 0 call $~lib/env/abort @@ -2871,7 +2871,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 40 i32.const 0 call $~lib/env/abort @@ -2884,7 +2884,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 41 i32.const 0 call $~lib/env/abort @@ -2897,7 +2897,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 42 i32.const 0 call $~lib/env/abort @@ -2910,7 +2910,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 43 i32.const 0 call $~lib/env/abort @@ -2923,7 +2923,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 44 i32.const 0 call $~lib/env/abort @@ -2934,7 +2934,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 46 i32.const 0 call $~lib/env/abort @@ -2949,7 +2949,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 48 i32.const 0 call $~lib/env/abort @@ -2962,7 +2962,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 49 i32.const 0 call $~lib/env/abort @@ -2975,7 +2975,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 50 i32.const 0 call $~lib/env/abort @@ -2988,7 +2988,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 51 i32.const 0 call $~lib/env/abort @@ -3001,7 +3001,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 52 i32.const 0 call $~lib/env/abort @@ -3014,7 +3014,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 53 i32.const 0 call $~lib/env/abort @@ -3027,7 +3027,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 54 i32.const 0 call $~lib/env/abort @@ -3042,7 +3042,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 55 i32.const 0 call $~lib/env/abort @@ -3055,7 +3055,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 56 i32.const 0 call $~lib/env/abort @@ -3068,7 +3068,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 57 i32.const 0 call $~lib/env/abort @@ -3081,7 +3081,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 58 i32.const 0 call $~lib/env/abort @@ -3094,7 +3094,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 59 i32.const 0 call $~lib/env/abort @@ -3107,7 +3107,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 60 i32.const 0 call $~lib/env/abort @@ -3120,7 +3120,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 61 i32.const 0 call $~lib/env/abort @@ -3133,7 +3133,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 62 i32.const 0 call $~lib/env/abort @@ -3146,7 +3146,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 63 i32.const 0 call $~lib/env/abort @@ -3159,7 +3159,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 64 i32.const 0 call $~lib/env/abort @@ -3172,7 +3172,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 65 i32.const 0 call $~lib/env/abort @@ -3185,7 +3185,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 66 i32.const 0 call $~lib/env/abort @@ -3198,7 +3198,7 @@ i32.eqz if i32.const 0 - i32.const 520 + i32.const 528 i32.const 67 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/optional-typeparameters.optimized.wat b/tests/compiler/optional-typeparameters.optimized.wat index a7d57418..47217642 100644 --- a/tests/compiler/optional-typeparameters.optimized.wat +++ b/tests/compiler/optional-typeparameters.optimized.wat @@ -6,7 +6,7 @@ (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\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -78,7 +78,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 8 call $~lib/allocator/arena/__mem_allocate @@ -92,16 +92,16 @@ i32.const 8 i32.add ) - (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 48 + i32.const 56 i32.le_u if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -115,8 +115,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -126,17 +126,17 @@ local.get $0 ) (func $start (; 4 ;) (type $FUNCSIG$v) - i32.const 48 + i32.const 56 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $optional-typeparameters/tConcrete - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $optional-typeparameters/tDerived ) (func $null (; 5 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/optional-typeparameters.untouched.wat b/tests/compiler/optional-typeparameters.untouched.wat index 3fcf3614..c2029bf2 100644 --- a/tests/compiler/optional-typeparameters.untouched.wat +++ b/tests/compiler/optional-typeparameters.untouched.wat @@ -7,7 +7,7 @@ (type $FUNCSIG$v (func)) (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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -17,7 +17,7 @@ (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $optional-typeparameters/tConcrete (mut i32) (i32.const 0)) (global $optional-typeparameters/tDerived (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 48)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -123,7 +123,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -139,7 +139,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -148,8 +148,8 @@ if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -165,8 +165,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -180,9 +180,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -197,9 +197,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/runtime-default.optimized.wat b/tests/compiler/runtime-default.optimized.wat index 845cbc1e..5c190147 100644 --- a/tests/compiler/runtime-default.optimized.wat +++ b/tests/compiler/runtime-default.optimized.wat @@ -12,8 +12,8 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00,") (data (i32.const 24) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 72) "\01\00\00\00\1e") - (data (i32.const 88) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 72) "\01\00\00\00(") + (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) @@ -27,18 +27,17 @@ (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -53,7 +52,19 @@ i32.const 0 end ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $__inlined_func$~lib/runtime/__runtime_flags + block $invalid + local.get $0 + i32.const 1 + i32.sub + br_table $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $__inlined_func$~lib/runtime/__runtime_flags $invalid + end + unreachable + end + i32.const 0 + ) + (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 i32.ge_u @@ -73,7 +84,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 @@ -108,7 +119,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 @@ -142,7 +153,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 @@ -158,7 +169,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 @@ -192,7 +203,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 @@ -211,7 +222,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) @@ -340,7 +351,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 @@ -370,7 +381,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 @@ -415,7 +426,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) @@ -645,7 +656,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 @@ -768,7 +779,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 @@ -782,7 +793,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 @@ -894,7 +905,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 @@ -1005,7 +1016,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) @@ -1031,14 +1042,14 @@ if unreachable end - i32.const 120 + i32.const 128 local.set $2 - i32.const 120 + i32.const 128 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 120 + i32.const 128 i32.const 0 i32.store i32.const 0 @@ -1048,7 +1059,7 @@ i32.const 22 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1059,7 +1070,7 @@ i32.const 32 i32.lt_u if - i32.const 120 + i32.const 128 local.get $1 local.get $3 i32.const 0 @@ -1078,8 +1089,8 @@ br $repeat|0 end end - i32.const 120 - i32.const 3040 + i32.const 128 + i32.const 3048 current_memory i32.const 16 i32.shl @@ -1175,7 +1186,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/runtime/runtime.allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1202,75 +1213,7 @@ i32.const 16 i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.tee $1 - if - local.get $0 - i32.const 8 - i32.sub - local.tee $2 - i32.load - local.tee $3 - i32.const 1 - i32.and - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - i32.const 1 - i32.or - i32.store - local.get $1 - local.get $0 - i32.const 8 - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/runtime/runtime.discard (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - i32.const 120 - i32.le_u - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $0 - i32.load - i32.const -1520547049 - i32.ne - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 19 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/collector/itcm/state i32.eqz @@ -1313,7 +1256,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1341,7 +1284,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) call $~lib/collector/itcm/maybeInit local.get $0 i32.const 16 @@ -1358,16 +1301,16 @@ local.get $0 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 120 + i32.const 128 i32.le_u if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1381,8 +1324,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1395,19 +1338,23 @@ end local.get $0 ) + (func $~lib/runtime/runtime.newObject (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) (func $~lib/runtime/runtime.newString (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/runtime/runtime.newArrayBuffer (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) (func $~lib/collector/itcm/ManagedObject#makeGray (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -1656,18 +1603,18 @@ (local $5 i32) (local $6 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.set $6 local.get $0 local.get $1 i32.shl local.tee $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $5 local.tee $1 local.get $2 @@ -1707,7 +1654,45 @@ (func $~lib/runtime/runtime.release (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 32 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.tee $1 + if + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + local.tee $3 + i32.const 1 + i32.and + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + i32.const 1 + i32.or + i32.store + local.get $1 + local.get $0 + i32.const 8 + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/collector/itcm/step (; 33 ;) (type $FUNCSIG$v) (local $0 i32) block $break|0 block $case3|0 @@ -1797,7 +1782,7 @@ i32.and global.set $~lib/collector/itcm/iter local.get $0 - i32.const 120 + i32.const 128 i32.ge_u if local.get $0 @@ -1816,7 +1801,7 @@ end end ) - (func $~lib/collector/itcm/__ref_collect (; 33 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 34 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit loop $continue|0 global.get $~lib/collector/itcm/state @@ -1835,17 +1820,17 @@ br_if $continue|1 end ) - (func $~lib/runtime/runtime.collect (; 34 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 35 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $start (; 35 ;) (type $FUNCSIG$v) + (func $start (; 36 ;) (type $FUNCSIG$v) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.set $~lib/runtime/ROOT ) - (func $~lib/runtime/__gc_mark_roots (; 36 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 37 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -1866,7 +1851,7 @@ end end ) - (func $~lib/runtime/__runtime_instanceof (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -1893,10 +1878,10 @@ end i32.const 0 ) - (func $null (; 38 ;) (type $FUNCSIG$v) + (func $null (; 39 ;) (type $FUNCSIG$v) nop ) - (func $~lib/runtime/runtime.newArray|trampoline (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray|trampoline (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -1916,7 +1901,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/runtime-default.untouched.wat b/tests/compiler/runtime-default.untouched.wat index ae057c9d..c54dc003 100644 --- a/tests/compiler/runtime-default.untouched.wat +++ b/tests/compiler/runtime-default.untouched.wat @@ -11,7 +11,7 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") - (data (i32.const 72) "\01\00\00\00\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 72) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -40,23 +40,22 @@ (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 120)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 128)) (global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export "runtime.instanceof" (func $~lib/runtime/runtime.instanceof)) - (export "runtime.allocate" (func $~lib/runtime/runtime.allocate)) - (export "runtime.discard" (func $~lib/runtime/runtime.discard)) - (export "runtime.register" (func $~lib/runtime/runtime.register)) - (export "runtime.newString" (func $~lib/runtime/runtime.newString)) - (export "runtime.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) - (export ".setargc" (func $~lib/setargc)) - (export "runtime.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) - (export "runtime.retain" (func $~lib/runtime/runtime.retain)) - (export "runtime.release" (func $~lib/runtime/runtime.release)) - (export "runtime.collect" (func $~lib/runtime/runtime.collect)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/runtime/runtime.instanceof (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -71,7 +70,11 @@ i32.const 0 end ) - (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.flags (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/__runtime_flags + ) + (func $~lib/util/runtime/adjust (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -83,12 +86,12 @@ i32.sub i32.shl ) - (func $~lib/allocator/tlsf/Root#set:tailRef (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#set:tailRef (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) i32.const 0 local.get $1 i32.store offset=2912 ) - (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setSLMap (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -109,7 +112,7 @@ local.get $2 i32.store offset=4 ) - (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/allocator/tlsf/Root#setHead (; 6 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -146,11 +149,11 @@ local.get $3 i32.store offset=96 ) - (func $~lib/allocator/tlsf/Root#get:tailRef (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Root#get:tailRef (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 i32.load offset=2912 ) - (func $~lib/allocator/tlsf/Block#get:right (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:right (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -190,7 +193,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/fls (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/fls (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -208,7 +211,7 @@ i32.clz i32.sub ) - (func $~lib/allocator/tlsf/Root#getHead (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getHead (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -244,7 +247,7 @@ i32.add i32.load offset=96 ) - (func $~lib/allocator/tlsf/Root#getSLMap (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#getSLMap (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 global.get $~lib/allocator/tlsf/FL_BITS i32.lt_u @@ -264,7 +267,7 @@ i32.add i32.load offset=4 ) - (func $~lib/allocator/tlsf/Root#remove (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#remove (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -409,7 +412,7 @@ end end ) - (func $~lib/allocator/tlsf/Block#get:left (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/Block#get:left (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.load @@ -441,7 +444,7 @@ local.get $1 end ) - (func $~lib/allocator/tlsf/Root#setJump (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/allocator/tlsf/Root#setJump (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.load global.get $~lib/allocator/tlsf/FREE @@ -487,7 +490,7 @@ local.get $1 i32.store ) - (func $~lib/allocator/tlsf/Root#insert (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/allocator/tlsf/Root#insert (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -753,7 +756,7 @@ i32.or call $~lib/allocator/tlsf/Root#setSLMap ) - (func $~lib/allocator/tlsf/Root#addMemory (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#addMemory (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -906,7 +909,7 @@ call $~lib/allocator/tlsf/Root#insert i32.const 1 ) - (func $~lib/allocator/tlsf/ffs (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -922,7 +925,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/ffs (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/ffs (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 0 i32.ne @@ -938,7 +941,7 @@ local.get $0 i32.ctz ) - (func $~lib/allocator/tlsf/Root#search (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/allocator/tlsf/Root#search (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1079,7 +1082,7 @@ end local.get $6 ) - (func $~lib/allocator/tlsf/Root#use (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/allocator/tlsf/Root#use (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1207,7 +1210,7 @@ global.get $~lib/allocator/tlsf/Block.INFO i32.add ) - (func $~lib/allocator/tlsf/__mem_allocate (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/allocator/tlsf/__mem_allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1443,12 +1446,12 @@ local.get $0 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/memory/memory.allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/tlsf/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -1470,88 +1473,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/allocator/tlsf/__mem_free (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - if - global.get $~lib/allocator/tlsf/ROOT - local.set $1 - local.get $1 - if - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 24 - i32.const 518 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $2 - local.get $3 - global.get $~lib/allocator/tlsf/FREE - i32.or - i32.store - local.get $1 - local.get $0 - global.get $~lib/allocator/tlsf/Block.INFO - i32.sub - call $~lib/allocator/tlsf/Root#insert - end - end - ) - (func $~lib/memory/memory.free (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - local.get $0 - call $~lib/allocator/tlsf/__mem_free - ) - (func $~lib/runtime/runtime.discard (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - local.get $0 - global.get $~lib/memory/HEAP_BASE - i32.gt_u - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 68 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $0 - global.get $~lib/util/runtime/HEADER_SIZE - i32.sub - local.set $1 - local.get $1 - i32.load - global.get $~lib/util/runtime/HEADER_MAGIC - i32.eq - i32.eqz - if - i32.const 0 - i32.const 88 - i32.const 70 - i32.const 6 - call $~lib/env/abort - unreachable - end - local.get $1 - call $~lib/memory/memory.free - ) - (func $~lib/collector/itcm/ManagedObjectList#clear (; 26 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObjectList#clear (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 local.get $0 i32.store offset=8 @@ -1559,7 +1481,7 @@ local.get $0 i32.store offset=12 ) - (func $~lib/collector/itcm/maybeInit (; 27 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/maybeInit (; 25 ;) (type $FUNCSIG$v) global.get $~lib/collector/itcm/state i32.const 0 i32.eq @@ -1592,7 +1514,7 @@ global.set $~lib/collector/itcm/state end ) - (func $~lib/collector/itcm/ManagedObject#set:color (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:color (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $0 i32.load offset=8 @@ -1604,7 +1526,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObject#set:next (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObject#set:next (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 local.get $1 local.get $0 @@ -1614,7 +1536,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/ManagedObjectList#push (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/ManagedObjectList#push (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i32.load offset=12 @@ -1632,7 +1554,7 @@ local.get $1 i32.store offset=12 ) - (func $~lib/collector/itcm/__ref_register (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_register (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -1651,7 +1573,7 @@ local.get $2 call $~lib/collector/itcm/ManagedObjectList#push ) - (func $~lib/runtime/runtime.register (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -1660,8 +1582,8 @@ if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1677,8 +1599,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1689,27 +1611,31 @@ call $~lib/collector/itcm/__ref_register local.get $0 ) - (func $~lib/runtime/runtime.newString (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newObject (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/runtime/runtime.newArrayBuffer (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime.newArrayBuffer (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - call $~lib/runtime/runtime.allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/runtime/runtime.newObject ) - (func $~lib/collector/itcm/ManagedObject#get:color (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:color (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 i32.and ) - (func $~lib/collector/itcm/ManagedObject#get:next (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/collector/itcm/ManagedObject#get:next (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.load offset=8 i32.const 3 @@ -1717,7 +1643,7 @@ i32.xor i32.and ) - (func $~lib/collector/itcm/ManagedObject#unlink (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#unlink (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -1733,7 +1659,7 @@ local.get $1 call $~lib/collector/itcm/ManagedObject#set:next ) - (func $~lib/collector/itcm/ManagedObject#makeGray (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/collector/itcm/iter i32.eq @@ -1758,7 +1684,7 @@ i32.or i32.store offset=8 ) - (func $~lib/collector/itcm/__ref_link (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/collector/itcm/__ref_link (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) call $~lib/collector/itcm/maybeInit @@ -1795,7 +1721,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/memory/memory.copy (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2004,7 +1930,7 @@ end end ) - (func $~lib/runtime/runtime.newArray (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/runtime/runtime.newArray (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2012,18 +1938,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -2061,27 +1987,74 @@ end local.get $4 ) - (func $~lib/runtime/Root#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/Root#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 ) - (func $~lib/runtime/runtime.retain (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.retain (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.get $~lib/runtime/ROOT call $~lib/collector/itcm/__ref_link ) - (func $~lib/runtime/runtime.release (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/runtime/runtime.release (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/collector/itcm/step (; 45 ;) (type $FUNCSIG$v) + (func $~lib/allocator/tlsf/__mem_free (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.set $1 + local.get $1 + if + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $2 + local.get $2 + i32.load + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.or + i32.store + local.get $1 + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/memory/memory.free (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + call $~lib/allocator/tlsf/__mem_free + ) + (func $~lib/collector/itcm/step (; 46 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) block $break|0 @@ -2203,7 +2176,7 @@ unreachable end ) - (func $~lib/collector/itcm/__ref_collect (; 46 ;) (type $FUNCSIG$v) + (func $~lib/collector/itcm/__ref_collect (; 47 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/maybeInit block $break|0 loop $continue|0 @@ -2226,18 +2199,18 @@ end end ) - (func $~lib/runtime/runtime.collect (; 47 ;) (type $FUNCSIG$v) + (func $~lib/runtime/runtime.collect (; 48 ;) (type $FUNCSIG$v) call $~lib/collector/itcm/__ref_collect ) - (func $~lib/runtime/runtime#constructor (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/runtime/runtime#constructor (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) unreachable ) - (func $start (; 49 ;) (type $FUNCSIG$v) + (func $start (; 50 ;) (type $FUNCSIG$v) i32.const 0 call $~lib/runtime/Root#constructor global.set $~lib/runtime/ROOT ) - (func $~lib/collector/itcm/__ref_mark (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/collector/itcm/__ref_mark (; 51 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) (local $2 i32) call $~lib/collector/itcm/maybeInit @@ -2258,7 +2231,7 @@ call $~lib/collector/itcm/ManagedObject#makeGray end ) - (func $~lib/runtime/__gc_mark_roots (; 51 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__gc_mark_roots (; 52 ;) (type $FUNCSIG$v) (local $0 i32) global.get $~lib/runtime/ROOT local.tee $0 @@ -2267,7 +2240,7 @@ call $~lib/collector/itcm/__ref_mark end ) - (func $~lib/runtime/__gc_mark_members (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/runtime/__gc_mark_members (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $invalid block $~lib/runtime/Root @@ -2284,7 +2257,7 @@ end unreachable ) - (func $~lib/runtime/__runtime_instanceof (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/runtime/__runtime_instanceof (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) block $nope block $~lib/runtime/Root block $~lib/arraybuffer/ArrayBuffer @@ -2310,9 +2283,28 @@ i32.const 0 return ) - (func $null (; 54 ;) (type $FUNCSIG$v) + (func $~lib/runtime/__runtime_flags (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $invalid + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/string/String + local.get $0 + br_table $invalid $~lib/string/String $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $invalid + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + unreachable ) - (func $~lib/runtime/runtime.newArray|trampoline (; 55 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $null (; 56 ;) (type $FUNCSIG$v) + ) + (func $~lib/runtime/runtime.newArray|trampoline (; 57 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -2332,7 +2324,7 @@ local.get $3 call $~lib/runtime/runtime.newArray ) - (func $~lib/setargc (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/setargc (; 58 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 global.set $~lib/argc ) diff --git a/tests/compiler/runtime/flags.json b/tests/compiler/runtime/flags.json new file mode 100644 index 00000000..8152a147 --- /dev/null +++ b/tests/compiler/runtime/flags.json @@ -0,0 +1,5 @@ +{ + "features": [ + "simd" + ] +} \ No newline at end of file diff --git a/tests/compiler/runtime/flags.optimized.wat b/tests/compiler/runtime/flags.optimized.wat new file mode 100644 index 00000000..f8f06975 --- /dev/null +++ b/tests/compiler/runtime/flags.optimized.wat @@ -0,0 +1,2870 @@ +(module + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) + (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) + (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data (i32.const 8) "\02\00\00\00 ") + (data (i32.const 24) "r\00u\00n\00t\00i\00m\00e\00/\00f\00l\00a\00g\00s\00.\00t\00s") + (data (i32.const 56) "\02\00\00\00,") + (data (i32.const 72) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 120) "\02\00\00\00(") + (data (i32.const 136) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (table $0 1 funcref) + (elem (i32.const 0) $null) + (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/argc (mut i32) (i32.const 0)) + (global $~lib/capabilities i32 (i32.const 2)) + (export "memory" (memory $0)) + (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) + (start $start) + (func $start:runtime/flags (; 1 ;) (type $FUNCSIG$v) + block $folding-inner0 + i32.const 1 + call $~lib/runtime/__runtime_flags + i32.const 9 + i32.ne + if + br $folding-inner0 + end + i32.const 3 + call $~lib/runtime/__runtime_flags + i32.const 17 + i32.ne + if + br $folding-inner0 + end + i32.const 4 + call $~lib/runtime/__runtime_flags + i32.const 33 + i32.ne + if + br $folding-inner0 + end + i32.const 5 + call $~lib/runtime/__runtime_flags + i32.const 65 + i32.ne + if + br $folding-inner0 + end + i32.const 6 + call $~lib/runtime/__runtime_flags + i32.const 129 + i32.ne + if + br $folding-inner0 + end + i32.const 7 + call $~lib/runtime/__runtime_flags + i32.const 545 + i32.ne + if + br $folding-inner0 + end + i32.const 8 + call $~lib/runtime/__runtime_flags + i32.const 801 + i32.ne + if + br $folding-inner0 + end + i32.const 9 + call $~lib/runtime/__runtime_flags + i32.const 10 + i32.ne + if + br $folding-inner0 + end + i32.const 10 + call $~lib/runtime/__runtime_flags + i32.const 18 + i32.ne + if + br $folding-inner0 + end + i32.const 11 + call $~lib/runtime/__runtime_flags + i32.const 34 + i32.ne + if + br $folding-inner0 + end + i32.const 12 + call $~lib/runtime/__runtime_flags + i32.const 66 + i32.ne + if + br $folding-inner0 + end + i32.const 13 + call $~lib/runtime/__runtime_flags + i32.const 130 + i32.ne + if + br $folding-inner0 + end + i32.const 14 + call $~lib/runtime/__runtime_flags + i32.const 546 + i32.ne + if + br $folding-inner0 + end + i32.const 15 + call $~lib/runtime/__runtime_flags + i32.const 802 + i32.ne + if + br $folding-inner0 + end + i32.const 16 + call $~lib/runtime/__runtime_flags + i32.const 16396 + i32.ne + if + br $folding-inner0 + end + i32.const 17 + call $~lib/runtime/__runtime_flags + i32.const 8212 + i32.ne + if + br $folding-inner0 + end + i32.const 18 + call $~lib/runtime/__runtime_flags + i32.const 4132 + i32.ne + if + br $folding-inner0 + end + i32.const 19 + call $~lib/runtime/__runtime_flags + i32.const 2116 + i32.ne + if + br $folding-inner0 + end + i32.const 20 + call $~lib/runtime/__runtime_flags + i32.const 1156 + i32.ne + if + br $folding-inner0 + end + i32.const 21 + call $~lib/runtime/__runtime_flags + i32.const 69644 + i32.ne + if + br $folding-inner0 + end + i32.const 22 + call $~lib/runtime/__runtime_flags + i32.const 102412 + i32.ne + if + br $folding-inner0 + end + i32.const 23 + call $~lib/runtime/__runtime_flags + i32.const 1572 + i32.ne + if + br $folding-inner0 + end + i32.const 24 + call $~lib/runtime/__runtime_flags + i32.const 1828 + i32.ne + if + br $folding-inner0 + end + i32.const 25 + call $~lib/runtime/__runtime_flags + i32.const 103204 + i32.ne + if + br $folding-inner0 + end + return + end + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + ) + (func $~lib/runtime/runtime.instanceof (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + if (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load + local.get $1 + call $~lib/runtime/__runtime_instanceof + else + i32.const 0 + end + ) + (func $~lib/runtime/runtime.flags (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/__runtime_flags + ) + (func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + i32.const 22 + i32.ge_u + if + i32.const 0 + i32.const 72 + i32.const 159 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $2 + i32.store offset=4 + ) + (func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + local.get $1 + i32.const 22 + i32.ge_u + if + i32.const 0 + i32.const 72 + i32.const 184 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 32 + i32.ge_u + if + i32.const 0 + i32.const 72 + i32.const 185 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 5 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + local.get $3 + i32.store offset=96 + ) + (func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load + i32.const -4 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 104 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 8 + i32.add + local.get $0 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 105 + i32.const 11 + call $~lib/env/abort + unreachable + end + local.get $0 + ) + (func $~lib/allocator/tlsf/fls (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 31 + local.get $0 + i32.clz + i32.sub + ) + (func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $1 + i32.const 22 + i32.ge_u + if + i32.const 0 + i32.const 72 + i32.const 175 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 32 + i32.ge_u + if + i32.const 0 + i32.const 72 + i32.const 176 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 5 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=96 + ) + (func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 22 + i32.ge_u + if + i32.const 0 + i32.const 72 + i32.const 153 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.get $0 + i32.add + i32.load offset=4 + ) + (func $~lib/allocator/tlsf/Root#remove (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.tee $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const -4 + i32.and + local.tee $3 + i32.const 16 + i32.ge_u + local.tee $2 + if + local.get $3 + i32.const 1073741824 + i32.lt_u + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 279 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 8 + i32.div_u + local.set $4 + i32.const 0 + else + local.get $3 + local.get $3 + call $~lib/allocator/tlsf/fls + local.tee $2 + i32.const 5 + i32.sub + i32.shr_u + i32.const 32 + i32.xor + local.set $4 + local.get $2 + i32.const 7 + i32.sub + end + local.set $2 + local.get $1 + i32.load offset=8 + local.set $3 + local.get $1 + i32.load offset=4 + local.tee $5 + if + local.get $5 + local.get $3 + i32.store offset=8 + end + local.get $3 + if + local.get $3 + local.get $5 + i32.store offset=4 + end + local.get $0 + local.get $2 + local.get $4 + call $~lib/allocator/tlsf/Root#getHead + local.get $1 + i32.eq + if + local.get $0 + local.get $2 + local.get $4 + local.get $3 + call $~lib/allocator/tlsf/Root#setHead + local.get $3 + i32.eqz + if + local.get $0 + local.get $2 + local.get $0 + local.get $2 + call $~lib/allocator/tlsf/Root#getSLMap + i32.const 1 + local.get $4 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $1 + call $~lib/allocator/tlsf/Root#setSLMap + local.get $1 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $2 + i32.shl + i32.const -1 + i32.xor + i32.and + i32.store + end + end + end + ) + (func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load + i32.const 2 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 96 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + i32.sub + i32.load + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 97 + i32.const 11 + call $~lib/env/abort + unreachable + end + local.get $0 + ) + (func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 353 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + call $~lib/allocator/tlsf/Block#get:right + local.get $1 + i32.ne + if + i32.const 0 + i32.const 72 + i32.const 354 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.const 2 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 355 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 4 + i32.sub + local.get $0 + i32.store + ) + (func $~lib/allocator/tlsf/Root#insert (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 208 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + local.tee $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 210 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + i32.const -4 + i32.and + local.tee $4 + i32.const 16 + i32.ge_u + local.tee $2 + if + local.get $4 + i32.const 1073741824 + i32.lt_u + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 212 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + call $~lib/allocator/tlsf/Block#get:right + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 216 + i32.const 23 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + local.tee $4 + i32.const 1 + i32.and + if + local.get $0 + local.get $2 + call $~lib/allocator/tlsf/Root#remove + local.get $1 + local.get $4 + i32.const -4 + i32.and + i32.const 8 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.store + local.get $1 + call $~lib/allocator/tlsf/Block#get:right + local.tee $2 + i32.load + local.set $4 + end + local.get $3 + i32.const 2 + i32.and + if + local.get $1 + call $~lib/allocator/tlsf/Block#get:left + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 230 + i32.const 24 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + local.tee $5 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 232 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/allocator/tlsf/Root#remove + local.get $1 + local.get $3 + i32.const -4 + i32.and + i32.const 8 + i32.add + local.get $5 + i32.add + local.tee $3 + i32.store + end + local.get $2 + local.get $4 + i32.const 2 + i32.or + i32.store + local.get $1 + local.get $2 + call $~lib/allocator/tlsf/Root#setJump + local.get $3 + i32.const -4 + i32.and + local.tee $3 + i32.const 16 + i32.ge_u + local.tee $2 + if + local.get $3 + i32.const 1073741824 + i32.lt_u + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 245 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 8 + i32.div_u + local.set $3 + i32.const 0 + else + local.get $3 + local.get $3 + call $~lib/allocator/tlsf/fls + local.tee $2 + i32.const 5 + i32.sub + i32.shr_u + i32.const 32 + i32.xor + local.set $3 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + local.get $3 + call $~lib/allocator/tlsf/Root#getHead + local.set $4 + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + local.get $4 + i32.store offset=8 + local.get $4 + if + local.get $4 + local.get $1 + i32.store offset=4 + end + local.get $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/allocator/tlsf/Root#setHead + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $2 + i32.shl + i32.or + i32.store + local.get $0 + local.get $2 + local.get $0 + local.get $2 + call $~lib/allocator/tlsf/Root#getSLMap + i32.const 1 + local.get $3 + i32.shl + i32.or + call $~lib/allocator/tlsf/Root#setSLMap + ) + (func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $2 + i32.gt_u + if + i32.const 0 + i32.const 72 + i32.const 396 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 7 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 397 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 7 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 398 + i32.const 4 + call $~lib/env/abort + unreachable + end + i32.const 2912 + i32.load + local.tee $3 + if + local.get $1 + local.get $3 + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 72 + i32.const 403 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 8 + i32.sub + local.get $3 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $1 + i32.const 8 + i32.sub + local.set $1 + end + else + local.get $1 + local.get $0 + i32.const 2916 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 72 + i32.const 412 + i32.const 6 + call $~lib/env/abort + unreachable + end + end + local.get $2 + local.get $1 + i32.sub + local.tee $2 + i32.const 32 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $2 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.or + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + local.get $2 + i32.add + i32.const 8 + i32.sub + local.tee $2 + i32.const 2 + i32.store + i32.const 2912 + local.get $2 + i32.store + local.get $0 + local.get $1 + call $~lib/allocator/tlsf/Root#insert + ) + (func $~lib/allocator/tlsf/ffs (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 441 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.ctz + ) + (func $~lib/allocator/tlsf/Root#search (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.const 16 + i32.ge_u + local.tee $2 + if + local.get $1 + i32.const 1073741824 + i32.lt_u + local.set $2 + end + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 315 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + i32.const 0 + local.set $2 + local.get $1 + i32.const 8 + i32.div_u + else + local.get $1 + call $~lib/allocator/tlsf/fls + local.tee $3 + i32.const 7 + i32.sub + local.set $2 + local.get $1 + local.get $3 + i32.const 5 + i32.sub + i32.shr_u + i32.const 32 + i32.xor + local.tee $1 + i32.const 31 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.add + else + local.get $2 + i32.const 1 + i32.add + local.set $2 + i32.const 0 + end + end + local.set $1 + local.get $0 + local.get $2 + call $~lib/allocator/tlsf/Root#getSLMap + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $0 + local.get $2 + local.get $1 + call $~lib/allocator/tlsf/ffs + call $~lib/allocator/tlsf/Root#getHead + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $0 + local.get $1 + call $~lib/allocator/tlsf/ffs + local.tee $2 + call $~lib/allocator/tlsf/Root#getSLMap + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 342 + i32.const 16 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $2 + local.get $1 + call $~lib/allocator/tlsf/ffs + call $~lib/allocator/tlsf/Root#getHead + else + i32.const 0 + end + end + ) + (func $~lib/allocator/tlsf/Root#use (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.load + local.tee $4 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 367 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 16 + i32.ge_u + local.tee $3 + if + local.get $2 + i32.const 1073741824 + i32.lt_u + local.set $3 + end + local.get $3 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 368 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 7 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 369 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/allocator/tlsf/Root#remove + local.get $4 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $3 + i32.const 24 + i32.ge_u + if + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $2 + i32.or + i32.store + local.get $1 + i32.const 8 + i32.add + local.get $2 + i32.add + local.tee $2 + local.get $3 + i32.const 8 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $2 + call $~lib/allocator/tlsf/Root#insert + else + local.get $1 + local.get $4 + i32.const -2 + i32.and + i32.store + local.get $1 + call $~lib/allocator/tlsf/Block#get:right + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 387 + i32.const 25 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $0 + i32.load + i32.const -3 + i32.and + i32.store + end + local.get $1 + i32.const 8 + i32.add + ) + (func $~lib/allocator/tlsf/__mem_allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/allocator/tlsf/ROOT + local.tee $2 + i32.eqz + if + i32.const 1 + current_memory + local.tee $1 + i32.gt_s + local.tee $2 + if (result i32) + i32.const 1 + local.get $1 + i32.sub + grow_memory + i32.const 0 + i32.lt_s + else + local.get $2 + end + if + unreachable + end + i32.const 176 + local.set $2 + i32.const 176 + global.set $~lib/allocator/tlsf/ROOT + i32.const 2912 + i32.const 0 + i32.store + i32.const 176 + i32.const 0 + i32.store + i32.const 0 + local.set $1 + loop $repeat|0 + local.get $1 + i32.const 22 + i32.lt_u + if + i32.const 176 + local.get $1 + i32.const 0 + call $~lib/allocator/tlsf/Root#setSLMap + i32.const 0 + local.set $3 + loop $repeat|1 + local.get $3 + i32.const 32 + i32.lt_u + if + i32.const 176 + local.get $1 + local.get $3 + i32.const 0 + call $~lib/allocator/tlsf/Root#setHead + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $repeat|1 + end + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $repeat|0 + end + end + i32.const 176 + i32.const 3096 + current_memory + i32.const 16 + i32.shl + call $~lib/allocator/tlsf/Root#addMemory + end + local.get $0 + i32.const 1073741824 + i32.gt_u + if + unreachable + end + local.get $2 + local.get $0 + i32.const 7 + i32.add + i32.const -8 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + local.tee $1 + call $~lib/allocator/tlsf/Root#search + local.tee $0 + i32.eqz + if + current_memory + local.tee $0 + local.get $1 + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $0 + local.get $3 + i32.gt_s + select + grow_memory + i32.const 0 + i32.lt_s + if + local.get $3 + grow_memory + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $2 + local.get $0 + i32.const 16 + i32.shl + current_memory + i32.const 16 + i32.shl + call $~lib/allocator/tlsf/Root#addMemory + local.get $2 + local.get $1 + call $~lib/allocator/tlsf/Root#search + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 502 + i32.const 12 + call $~lib/env/abort + unreachable + end + end + local.get $0 + i32.load + i32.const -4 + i32.and + local.get $1 + i32.lt_u + if + i32.const 0 + i32.const 72 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $0 + local.get $1 + call $~lib/allocator/tlsf/Root#use + ) + (func $~lib/util/runtime/allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + i32.const 1 + i32.const 32 + local.get $0 + i32.const 15 + i32.add + i32.clz + i32.sub + i32.shl + call $~lib/allocator/tlsf/__mem_allocate + local.tee $1 + i32.const -1520547049 + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 16 + i32.add + ) + (func $~lib/collector/itcm/maybeInit (; 20 ;) (type $FUNCSIG$v) + (local $0 i32) + global.get $~lib/collector/itcm/state + i32.eqz + if + i32.const 16 + call $~lib/allocator/tlsf/__mem_allocate + global.set $~lib/collector/itcm/fromSpace + global.get $~lib/collector/itcm/fromSpace + local.tee $0 + i32.const -1 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $0 + i32.store offset=12 + i32.const 16 + call $~lib/allocator/tlsf/__mem_allocate + global.set $~lib/collector/itcm/toSpace + global.get $~lib/collector/itcm/toSpace + local.tee $0 + i32.const -1 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $0 + i32.store offset=12 + global.get $~lib/collector/itcm/toSpace + global.set $~lib/collector/itcm/iter + i32.const 1 + global.set $~lib/collector/itcm/state + end + ) + (func $~lib/collector/itcm/ManagedObjectList#push (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load offset=12 + local.set $2 + local.get $1 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.and + local.get $0 + i32.or + i32.store offset=8 + local.get $1 + local.get $2 + i32.store offset=12 + local.get $2 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.and + local.get $1 + i32.or + i32.store offset=8 + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + call $~lib/collector/itcm/maybeInit + local.get $0 + i32.const 16 + i32.sub + local.tee $0 + global.get $~lib/collector/itcm/white + local.get $0 + i32.load offset=8 + i32.const -4 + i32.and + i32.or + i32.store offset=8 + global.get $~lib/collector/itcm/fromSpace + local.get $0 + call $~lib/collector/itcm/ManagedObjectList#push + ) + (func $~lib/util/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + i32.const 176 + i32.le_u + if + i32.const 0 + i32.const 136 + i32.const 128 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 16 + i32.sub + local.tee $2 + i32.load + i32.const -1520547049 + i32.ne + if + i32.const 0 + i32.const 136 + i32.const 130 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $1 + i32.store + block + local.get $0 + call $~lib/collector/itcm/__ref_register + end + local.get $0 + ) + (func $~lib/runtime/runtime.newObject (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 26 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/collector/itcm/iter + local.get $0 + i32.eq + if + local.get $0 + i32.load offset=12 + global.set $~lib/collector/itcm/iter + end + local.get $0 + i32.load offset=8 + i32.const -4 + i32.and + local.tee $2 + local.get $0 + i32.load offset=12 + local.tee $1 + i32.store offset=12 + local.get $1 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.and + local.get $2 + i32.or + i32.store offset=8 + global.get $~lib/collector/itcm/toSpace + local.get $0 + call $~lib/collector/itcm/ManagedObjectList#push + local.get $0 + local.get $0 + i32.load offset=8 + i32.const -4 + i32.and + i32.const 2 + i32.or + i32.store offset=8 + ) + (func $~lib/collector/itcm/__ref_link (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + call $~lib/collector/itcm/maybeInit + global.get $~lib/collector/itcm/white + i32.eqz + local.get $1 + i32.const 16 + i32.sub + local.tee $2 + i32.load offset=8 + i32.const 3 + i32.and + i32.eq + local.tee $1 + if (result i32) + global.get $~lib/collector/itcm/white + local.get $0 + i32.const 16 + i32.sub + i32.load offset=8 + i32.const 3 + i32.and + i32.eq + else + local.get $1 + end + if + local.get $2 + call $~lib/collector/itcm/ManagedObject#makeGray + end + ) + (func $~lib/memory/memory.copy (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $1 + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $2 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + local.tee $3 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $3 + local.get $4 + i32.load8_u + i32.store8 + br $continue|0 + end + end + loop $continue|1 + local.get $2 + i32.const 8 + i32.ge_u + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $2 + i32.const 8 + i32.sub + local.set $2 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|1 + end + end + end + loop $continue|2 + local.get $2 + if + local.get $0 + local.tee $3 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $3 + local.get $4 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $continue|3 + local.get $0 + local.get $2 + i32.add + i32.const 7 + i32.and + if + local.get $2 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + local.get $0 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + br $continue|3 + end + end + loop $continue|4 + local.get $2 + i32.const 8 + i32.ge_u + if + local.get $2 + i32.const 8 + i32.sub + local.tee $2 + local.get $0 + i32.add + local.get $1 + local.get $2 + i32.add + i64.load + i64.store + br $continue|4 + end + end + end + loop $continue|5 + local.get $2 + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + local.get $0 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end + end + ) + (func $~lib/runtime/runtime.newArray (; 30 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 16 + call $~lib/util/runtime/allocate + local.get $2 + call $~lib/util/runtime/register + local.tee $2 + local.set $6 + local.get $0 + local.get $1 + i32.shl + local.tee $4 + call $~lib/util/runtime/allocate + i32.const 26 + call $~lib/util/runtime/register + local.tee $5 + local.tee $1 + local.get $2 + i32.load + i32.ne + if + local.get $1 + local.get $6 + call $~lib/collector/itcm/__ref_link + end + local.get $2 + local.get $1 + i32.store + local.get $2 + local.get $5 + i32.store offset=4 + local.get $2 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=12 + local.get $3 + if + local.get $5 + local.get $3 + local.get $4 + call $~lib/memory/memory.copy + end + local.get $2 + ) + (func $~lib/runtime/runtime.retain (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/itcm/__ref_link + ) + (func $~lib/runtime/runtime.release (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/allocator/tlsf/__mem_free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.tee $1 + if + local.get $0 + i32.const 8 + i32.sub + local.tee $2 + i32.load + local.tee $3 + i32.const 1 + i32.and + if + i32.const 0 + i32.const 72 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + i32.const 1 + i32.or + i32.store + local.get $1 + local.get $0 + i32.const 8 + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/collector/itcm/step (; 34 ;) (type $FUNCSIG$v) + (local $0 i32) + block $break|0 + block $case3|0 + block $case2|0 + block $case1|0 + global.get $~lib/collector/itcm/state + local.tee $0 + if + local.get $0 + i32.const 1 + i32.sub + br_table $case1|0 $case2|0 $case3|0 $break|0 + end + unreachable + end + call $~lib/runtime/__gc_mark_roots + i32.const 2 + global.set $~lib/collector/itcm/state + br $break|0 + end + global.get $~lib/collector/itcm/iter + i32.load offset=8 + i32.const -4 + i32.and + local.tee $0 + global.get $~lib/collector/itcm/toSpace + i32.ne + if + local.get $0 + global.set $~lib/collector/itcm/iter + local.get $0 + global.get $~lib/collector/itcm/white + i32.eqz + local.get $0 + i32.load offset=8 + i32.const -4 + i32.and + i32.or + i32.store offset=8 + local.get $0 + i32.load + local.get $0 + i32.const 16 + i32.add + call $~lib/runtime/__gc_mark_members + else + call $~lib/runtime/__gc_mark_roots + global.get $~lib/collector/itcm/toSpace + global.get $~lib/collector/itcm/iter + i32.load offset=8 + i32.const -4 + i32.and + i32.eq + if + global.get $~lib/collector/itcm/fromSpace + local.set $0 + global.get $~lib/collector/itcm/toSpace + global.set $~lib/collector/itcm/fromSpace + local.get $0 + global.set $~lib/collector/itcm/toSpace + global.get $~lib/collector/itcm/white + i32.eqz + global.set $~lib/collector/itcm/white + local.get $0 + i32.load offset=8 + i32.const -4 + i32.and + global.set $~lib/collector/itcm/iter + i32.const 3 + global.set $~lib/collector/itcm/state + end + end + br $break|0 + end + global.get $~lib/collector/itcm/iter + local.tee $0 + global.get $~lib/collector/itcm/toSpace + i32.ne + if + local.get $0 + i32.load offset=8 + i32.const -4 + i32.and + global.set $~lib/collector/itcm/iter + local.get $0 + i32.const 176 + i32.ge_u + if + local.get $0 + call $~lib/allocator/tlsf/__mem_free + end + else + global.get $~lib/collector/itcm/toSpace + local.tee $0 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $0 + i32.store offset=12 + i32.const 1 + global.set $~lib/collector/itcm/state + end + end + ) + (func $~lib/collector/itcm/__ref_collect (; 35 ;) (type $FUNCSIG$v) + call $~lib/collector/itcm/maybeInit + loop $continue|0 + global.get $~lib/collector/itcm/state + i32.const 1 + i32.ne + if + call $~lib/collector/itcm/step + br $continue|0 + end + end + loop $continue|1 + call $~lib/collector/itcm/step + global.get $~lib/collector/itcm/state + i32.const 1 + i32.ne + br_if $continue|1 + end + ) + (func $~lib/runtime/runtime.collect (; 36 ;) (type $FUNCSIG$v) + call $~lib/collector/itcm/__ref_collect + ) + (func $start (; 37 ;) (type $FUNCSIG$v) + call $start:runtime/flags + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 27 + call $~lib/util/runtime/register + global.set $~lib/runtime/ROOT + ) + (func $~lib/collector/itcm/__ref_mark (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) + call $~lib/collector/itcm/maybeInit + global.get $~lib/collector/itcm/white + local.get $0 + i32.const 16 + i32.sub + local.tee $0 + i32.load offset=8 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/collector/itcm/ManagedObject#makeGray + end + ) + (func $~lib/runtime/__gc_mark_roots (; 39 ;) (type $FUNCSIG$v) + (local $0 i32) + global.get $~lib/runtime/ROOT + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + end + ) + (func $~lib/array/Array#__traverse (; 40 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=4 + local.tee $1 + local.get $0 + i32.load offset=8 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load + local.tee $2 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $2 + call $~lib/runtime/__gc_mark_members + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/array/Array#__traverse (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=4 + local.tee $1 + local.get $0 + i32.load offset=8 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/set/Set#__traverse (; 42 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.tee $1 + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + local.get $1 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + local.tee $2 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $2 + call $~lib/runtime/__gc_mark_members + end + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/set/Set#__traverse (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.tee $1 + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + local.get $1 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + end + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/map/Map#__traverse (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.tee $1 + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + local.get $1 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + local.tee $2 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $2 + call $~lib/runtime/__gc_mark_members + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/map/Map#__traverse (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.tee $1 + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + local.get $1 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/map/Map#__traverse (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.tee $1 + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + local.get $1 + i32.add + local.set $0 + loop $continue|0 + local.get $1 + local.get $0 + i32.lt_u + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load offset=4 + local.tee $2 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $2 + call $~lib/runtime/__gc_mark_members + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/map/Map#__traverse (; 47 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.tee $1 + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + local.get $1 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load offset=4 + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/map/Map#__traverse (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.tee $1 + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + local.get $1 + i32.add + local.set $2 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + local.get $1 + i32.load offset=4 + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $0 + call $~lib/runtime/__gc_mark_members + end + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $continue|0 + end + end + ) + (func $~lib/runtime/__gc_mark_members (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + block $folding-inner1 + block $folding-inner0 + block $invalid + block $runtime/flags/Ref + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $~lib/string/String + local.get $0 + i32.const 1 + i32.sub + br_table $folding-inner0 $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $~lib/array/Array $~lib/array/Array $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $~lib/set/Set $~lib/set/Set $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $invalid + end + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + return + end + return + end + return + end + unreachable + end + local.get $1 + i32.load + call $~lib/collector/itcm/__ref_mark + return + end + local.get $1 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $1 + i32.load offset=8 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/runtime/__runtime_instanceof (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + block $nope + block $~lib/arraybuffer/ArrayBufferView + block $runtime/flags/Ref + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/string/String + block $~lib/array/Array + local.get $0 + i32.const 1 + i32.sub + br_table $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $nope + end + local.get $1 + i32.const 1 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 2 + i32.eq + return + end + local.get $1 + i32.const 3 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 4 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 5 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 6 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 7 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 8 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 9 + i32.eq + return + end + local.get $1 + i32.const 10 + i32.eq + return + end + local.get $1 + i32.const 11 + i32.eq + return + end + local.get $1 + i32.const 12 + i32.eq + return + end + local.get $1 + i32.const 13 + i32.eq + return + end + local.get $1 + i32.const 14 + i32.eq + return + end + local.get $1 + i32.const 15 + i32.eq + return + end + local.get $1 + i32.const 16 + i32.eq + return + end + local.get $1 + i32.const 17 + i32.eq + return + end + local.get $1 + i32.const 18 + i32.eq + return + end + local.get $1 + i32.const 19 + i32.eq + return + end + local.get $1 + i32.const 20 + i32.eq + return + end + local.get $1 + i32.const 21 + i32.eq + return + end + local.get $1 + i32.const 22 + i32.eq + return + end + local.get $1 + i32.const 23 + i32.eq + return + end + local.get $1 + i32.const 24 + i32.eq + return + end + local.get $1 + i32.const 25 + i32.eq + return + end + local.get $1 + i32.const 26 + i32.eq + return + end + local.get $1 + i32.const 27 + i32.eq + return + end + local.get $1 + i32.const 28 + i32.eq + return + end + local.get $1 + i32.const 29 + i32.eq + return + end + i32.const 0 + ) + (func $~lib/runtime/__runtime_flags (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $runtime/flags/Ref + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/string/String + block $~lib/array/Array + local.get $0 + i32.const 1 + i32.sub + br_table $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $invalid + end + i32.const 9 + return + end + i32.const 0 + return + end + i32.const 17 + return + end + i32.const 33 + return + end + i32.const 65 + return + end + i32.const 129 + return + end + i32.const 545 + return + end + i32.const 801 + return + end + i32.const 10 + return + end + i32.const 18 + return + end + i32.const 34 + return + end + i32.const 66 + return + end + i32.const 130 + return + end + i32.const 546 + return + end + i32.const 802 + return + end + i32.const 16396 + return + end + i32.const 8212 + return + end + i32.const 4132 + return + end + i32.const 2116 + return + end + i32.const 1156 + return + end + i32.const 69644 + return + end + i32.const 102412 + return + end + i32.const 1572 + return + end + i32.const 1828 + return + end + i32.const 103204 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + unreachable + ) + (func $null (; 52 ;) (type $FUNCSIG$v) + nop + ) + (func $~lib/runtime/runtime.newArray|trampoline (; 53 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~lib/argc + i32.const 3 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/runtime/runtime.newArray + ) + (func $~lib/setargc (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.set $~lib/argc + ) +) diff --git a/tests/compiler/runtime/flags.ts b/tests/compiler/runtime/flags.ts new file mode 100644 index 00000000..091996dc --- /dev/null +++ b/tests/compiler/runtime/flags.ts @@ -0,0 +1,81 @@ +import { __runtime_id, __runtime_flags } from "runtime"; + +const enum RuntimeFlags { // keep in sync with src/program.ts + NONE = 0, + /** Type is an `Array`. */ + ARRAY = 1 << 0, + /** Type is a `Set`. */ + SET = 1 << 1, + /** Type is a `Map`. */ + MAP = 1 << 2, + /** Value alignment of 1 byte. */ + VALUE_ALIGN_0 = 1 << 3, + /** Value alignment of 2 bytes. */ + VALUE_ALIGN_1 = 1 << 4, + /** Value alignment of 4 bytes. */ + VALUE_ALIGN_2 = 1 << 5, + /** Value alignment of 8 bytes. */ + VALUE_ALIGN_3 = 1 << 6, + /** Value alignment of 16 bytes. */ + VALUE_ALIGN_4 = 1 << 7, + /** Value type is nullable. */ + VALUE_NULLABLE = 1 << 8, + /** Value type is managed. */ + VALUE_MANAGED = 1 << 9, + /** Key alignment of 1 byte. */ + KEY_ALIGN_0 = 1 << 10, + /** Key alignment of 2 bytes. */ + KEY_ALIGN_1 = 1 << 11, + /** Key alignment of 4 bytes. */ + KEY_ALIGN_2 = 1 << 12, + /** Key alignment of 8 bytes. */ + KEY_ALIGN_3 = 1 << 13, + /** Key alignment of 16 bytes. */ + KEY_ALIGN_4 = 1 << 14, + /** Key type is nullable. */ + KEY_NULLABLE = 1 << 15, + /** Key type is managed. */ + KEY_MANAGED = 1 << 16 +} + +function test(flags: RuntimeFlags): void { + assert( + __runtime_flags(__runtime_id()) + == + flags + ); +} + +class Ref {} + +const VALUE_ALIGN_REF = sizeof() == 4 ? RuntimeFlags.VALUE_ALIGN_2 : RuntimeFlags.VALUE_ALIGN_3; +const KEY_ALIGN_REF = sizeof() == 4 ? RuntimeFlags.KEY_ALIGN_2 : RuntimeFlags.KEY_ALIGN_3; + +test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_0); +test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_1); +test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_2); +test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_3); +test>(RuntimeFlags.ARRAY | RuntimeFlags.VALUE_ALIGN_4); +test>(RuntimeFlags.ARRAY | VALUE_ALIGN_REF | RuntimeFlags.VALUE_MANAGED); +test>(RuntimeFlags.ARRAY | VALUE_ALIGN_REF | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED); + +test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_0); +test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_1); +test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_2); +test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_3); +test>(RuntimeFlags.SET | RuntimeFlags.VALUE_ALIGN_4); +test>(RuntimeFlags.SET | VALUE_ALIGN_REF | RuntimeFlags.VALUE_MANAGED); +test>(RuntimeFlags.SET | VALUE_ALIGN_REF | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED); + +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_4 | RuntimeFlags.VALUE_ALIGN_0); +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_3 | RuntimeFlags.VALUE_ALIGN_1); +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_2 | RuntimeFlags.VALUE_ALIGN_2); +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_1 | RuntimeFlags.VALUE_ALIGN_3); +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_0 | RuntimeFlags.VALUE_ALIGN_4); +test>(RuntimeFlags.MAP | KEY_ALIGN_REF | RuntimeFlags.KEY_MANAGED | RuntimeFlags.VALUE_ALIGN_0); +test>(RuntimeFlags.MAP |KEY_ALIGN_REF | RuntimeFlags.KEY_NULLABLE | RuntimeFlags.KEY_MANAGED | RuntimeFlags.VALUE_ALIGN_0); +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_0 | RuntimeFlags.VALUE_MANAGED | VALUE_ALIGN_REF); +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_ALIGN_0 | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED | VALUE_ALIGN_REF); +test>(RuntimeFlags.MAP | RuntimeFlags.KEY_NULLABLE | RuntimeFlags.KEY_MANAGED | KEY_ALIGN_REF | RuntimeFlags.VALUE_NULLABLE | RuntimeFlags.VALUE_MANAGED | VALUE_ALIGN_REF); + +// TODO: WASM64 diff --git a/tests/compiler/runtime/flags.untouched.wat b/tests/compiler/runtime/flags.untouched.wat new file mode 100644 index 00000000..348e0c01 --- /dev/null +++ b/tests/compiler/runtime/flags.untouched.wat @@ -0,0 +1,3924 @@ +(module + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) + (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) + (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) + (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data (i32.const 8) "\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00r\00u\00n\00t\00i\00m\00e\00/\00f\00l\00a\00g\00s\00.\00t\00s\00") + (data (i32.const 56) "\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 120) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (table $0 1 funcref) + (elem (i32.const 0) $null) + (global $runtime/flags/VALUE_ALIGN_REF i32 (i32.const 32)) + (global $runtime/flags/KEY_ALIGN_REF i32 (i32.const 4096)) + (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) + (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4)) + (global $~lib/allocator/tlsf/SL_BITS i32 (i32.const 5)) + (global $~lib/allocator/tlsf/SB_BITS i32 (i32.const 8)) + (global $~lib/allocator/tlsf/FL_BITS i32 (i32.const 22)) + (global $~lib/allocator/tlsf/Root.SL_END i32 (i32.const 92)) + (global $~lib/allocator/tlsf/Root.HL_START i32 (i32.const 96)) + (global $~lib/allocator/tlsf/SL_SIZE i32 (i32.const 32)) + (global $~lib/allocator/tlsf/Root.HL_END i32 (i32.const 2912)) + (global $~lib/allocator/tlsf/Root.SIZE i32 (i32.const 2916)) + (global $~lib/allocator/tlsf/Block.INFO i32 (i32.const 8)) + (global $~lib/allocator/tlsf/Block.MIN_SIZE i32 (i32.const 16)) + (global $~lib/allocator/tlsf/FREE i32 (i32.const 1)) + (global $~lib/allocator/tlsf/LEFT_FREE i32 (i32.const 2)) + (global $~lib/allocator/tlsf/TAGS i32 (i32.const 3)) + (global $~lib/allocator/tlsf/Block.MAX_SIZE i32 (i32.const 1073741824)) + (global $~lib/allocator/tlsf/SB_SIZE i32 (i32.const 256)) + (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) + (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) + (global $~lib/collector/itcm/state (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/toSpace (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/iter (mut i32) (i32.const 0)) + (global $~lib/collector/itcm/white (mut i32) (i32.const 0)) + (global $~lib/runtime/ROOT (mut i32) (i32.const 0)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 176)) + (global $~lib/argc (mut i32) (i32.const 0)) + (global $~lib/capabilities i32 (i32.const 2)) + (export "memory" (memory $0)) + (export "table" (table $0)) + (export "$.instanceof" (func $~lib/runtime/runtime.instanceof)) + (export "$.flags" (func $~lib/runtime/runtime.flags)) + (export "$.newObject" (func $~lib/runtime/runtime.newObject)) + (export "$.newString" (func $~lib/runtime/runtime.newString)) + (export "$.newArrayBuffer" (func $~lib/runtime/runtime.newArrayBuffer)) + (export "$.setArgc" (func $~lib/setargc)) + (export "$.newArray" (func $~lib/runtime/runtime.newArray|trampoline)) + (export "$.retain" (func $~lib/runtime/runtime.retain)) + (export "$.release" (func $~lib/runtime/runtime.release)) + (export "$.collect" (func $~lib/runtime/runtime.collect)) + (export "$.capabilities" (global $~lib/capabilities)) + (start $start) + (func $runtime/flags/test<~lib/array/Array> (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 1 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 3 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 4 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 5 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 6 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 7 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/array/Array> (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 8 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 9 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 10 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 11 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 12 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 12 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 13 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 14 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/set/Set> (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 15 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 16 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 17 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 18 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 19 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 19 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 20 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 20 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 21 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 22 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 23 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 24 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $runtime/flags/test<~lib/map/Map> (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) + i32.const 25 + call $~lib/runtime/__runtime_flags + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 24 + i32.const 42 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $start:runtime/flags (; 25 ;) (type $FUNCSIG$v) + i32.const 1 + i32.const 8 + i32.or + call $runtime/flags/test<~lib/array/Array> + i32.const 1 + i32.const 16 + i32.or + call $runtime/flags/test<~lib/array/Array> + i32.const 1 + i32.const 32 + i32.or + call $runtime/flags/test<~lib/array/Array> + i32.const 1 + i32.const 64 + i32.or + call $runtime/flags/test<~lib/array/Array> + i32.const 1 + i32.const 128 + i32.or + call $runtime/flags/test<~lib/array/Array> + i32.const 1 + global.get $runtime/flags/VALUE_ALIGN_REF + i32.or + i32.const 512 + i32.or + call $runtime/flags/test<~lib/array/Array> + i32.const 1 + global.get $runtime/flags/VALUE_ALIGN_REF + i32.or + i32.const 256 + i32.or + i32.const 512 + i32.or + call $runtime/flags/test<~lib/array/Array> + i32.const 2 + i32.const 8 + i32.or + call $runtime/flags/test<~lib/set/Set> + i32.const 2 + i32.const 16 + i32.or + call $runtime/flags/test<~lib/set/Set> + i32.const 2 + i32.const 32 + i32.or + call $runtime/flags/test<~lib/set/Set> + i32.const 2 + i32.const 64 + i32.or + call $runtime/flags/test<~lib/set/Set> + i32.const 2 + i32.const 128 + i32.or + call $runtime/flags/test<~lib/set/Set> + i32.const 2 + global.get $runtime/flags/VALUE_ALIGN_REF + i32.or + i32.const 512 + i32.or + call $runtime/flags/test<~lib/set/Set> + i32.const 2 + global.get $runtime/flags/VALUE_ALIGN_REF + i32.or + i32.const 256 + i32.or + i32.const 512 + i32.or + call $runtime/flags/test<~lib/set/Set> + i32.const 4 + i32.const 16384 + i32.or + i32.const 8 + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + i32.const 8192 + i32.or + i32.const 16 + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + i32.const 4096 + i32.or + i32.const 32 + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + i32.const 2048 + i32.or + i32.const 64 + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + i32.const 1024 + i32.or + i32.const 128 + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + global.get $runtime/flags/KEY_ALIGN_REF + i32.or + i32.const 65536 + i32.or + i32.const 8 + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + global.get $runtime/flags/KEY_ALIGN_REF + i32.or + i32.const 32768 + i32.or + i32.const 65536 + i32.or + i32.const 8 + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + i32.const 1024 + i32.or + i32.const 512 + i32.or + global.get $runtime/flags/VALUE_ALIGN_REF + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + i32.const 1024 + i32.or + i32.const 256 + i32.or + i32.const 512 + i32.or + global.get $runtime/flags/VALUE_ALIGN_REF + i32.or + call $runtime/flags/test<~lib/map/Map> + i32.const 4 + i32.const 32768 + i32.or + i32.const 65536 + i32.or + global.get $runtime/flags/KEY_ALIGN_REF + i32.or + i32.const 256 + i32.or + i32.const 512 + i32.or + global.get $runtime/flags/VALUE_ALIGN_REF + i32.or + call $runtime/flags/test<~lib/map/Map> + ) + (func $~lib/runtime/runtime.instanceof (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + if (result i32) + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + i32.load + local.get $1 + call $~lib/runtime/__runtime_instanceof + else + i32.const 0 + end + ) + (func $~lib/runtime/runtime.flags (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/runtime/__runtime_flags + ) + (func $~lib/util/runtime/adjust (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 1 + i32.const 32 + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.add + i32.const 1 + i32.sub + i32.clz + i32.sub + i32.shl + ) + (func $~lib/allocator/tlsf/Root#set:tailRef (; 29 ;) (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 (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + global.get $~lib/allocator/tlsf/FL_BITS + i32.lt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 159 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 4 + i32.mul + i32.add + local.get $2 + i32.store offset=4 + ) + (func $~lib/allocator/tlsf/Root#setHead (; 31 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + local.get $1 + global.get $~lib/allocator/tlsf/FL_BITS + i32.lt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 184 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + global.get $~lib/allocator/tlsf/SL_SIZE + i32.lt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 185 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $1 + global.get $~lib/allocator/tlsf/SL_SIZE + i32.mul + local.get $2 + i32.add + i32.const 4 + i32.mul + i32.add + local.get $3 + i32.store offset=96 + ) + (func $~lib/allocator/tlsf/Root#get:tailRef (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + i32.const 0 + i32.load offset=2912 + ) + (func $~lib/allocator/tlsf/Block#get:right (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.load + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 104 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.add + local.get $0 + i32.load + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 72 + i32.const 105 + i32.const 11 + call $~lib/env/abort + unreachable + else + local.get $1 + end + ) + (func $~lib/allocator/tlsf/fls (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 447 + i32.const 2 + call $~lib/env/abort + unreachable + end + i32.const 31 + local.get $0 + i32.clz + i32.sub + ) + (func $~lib/allocator/tlsf/Root#getHead (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $1 + global.get $~lib/allocator/tlsf/FL_BITS + i32.lt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 175 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + global.get $~lib/allocator/tlsf/SL_SIZE + i32.lt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 176 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $1 + global.get $~lib/allocator/tlsf/SL_SIZE + i32.mul + local.get $2 + i32.add + i32.const 4 + i32.mul + i32.add + i32.load offset=96 + ) + (func $~lib/allocator/tlsf/Root#getSLMap (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + global.get $~lib/allocator/tlsf/FL_BITS + i32.lt_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 153 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 4 + i32.mul + i32.add + i32.load offset=4 + ) + (func $~lib/allocator/tlsf/Root#remove (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 277 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + i32.ge_u + local.tee $4 + if (result i32) + local.get $3 + global.get $~lib/allocator/tlsf/Block.MAX_SIZE + i32.lt_u + else + local.get $4 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 279 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + global.get $~lib/allocator/tlsf/SB_SIZE + i32.lt_u + if + i32.const 0 + local.set $5 + local.get $3 + i32.const 8 + i32.div_u + local.set $6 + else + local.get $3 + call $~lib/allocator/tlsf/fls + local.set $5 + local.get $3 + local.get $5 + global.get $~lib/allocator/tlsf/SL_BITS + i32.sub + i32.shr_u + i32.const 1 + global.get $~lib/allocator/tlsf/SL_BITS + i32.shl + i32.xor + local.set $6 + local.get $5 + global.get $~lib/allocator/tlsf/SB_BITS + i32.const 1 + i32.sub + i32.sub + local.set $5 + end + local.get $1 + i32.load offset=4 + local.set $7 + local.get $1 + i32.load offset=8 + local.set $8 + local.get $7 + if + local.get $7 + local.get $8 + i32.store offset=8 + end + local.get $8 + if + local.get $8 + local.get $7 + i32.store offset=4 + end + local.get $1 + local.get $0 + local.get $5 + local.get $6 + call $~lib/allocator/tlsf/Root#getHead + i32.eq + if + local.get $0 + local.get $5 + local.get $6 + local.get $8 + call $~lib/allocator/tlsf/Root#setHead + local.get $8 + i32.eqz + if + local.get $0 + local.get $5 + call $~lib/allocator/tlsf/Root#getSLMap + local.set $4 + local.get $0 + local.get $5 + local.get $4 + i32.const 1 + local.get $6 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $4 + call $~lib/allocator/tlsf/Root#setSLMap + local.get $4 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $5 + i32.shl + i32.const -1 + i32.xor + i32.and + i32.store + end + end + end + ) + (func $~lib/allocator/tlsf/Block#get:left (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.load + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 96 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.const 4 + i32.sub + i32.load + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 72 + i32.const 97 + i32.const 11 + call $~lib/env/abort + unreachable + else + local.get $1 + end + ) + (func $~lib/allocator/tlsf/Root#setJump (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + i32.load + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 353 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + call $~lib/allocator/tlsf/Block#get:right + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 354 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.load + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 355 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 4 + i32.sub + local.get $1 + i32.store + ) + (func $~lib/allocator/tlsf/Root#insert (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 208 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + local.set $2 + local.get $2 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 210 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.load + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + local.tee $3 + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + i32.ge_u + local.tee $4 + if (result i32) + local.get $3 + global.get $~lib/allocator/tlsf/Block.MAX_SIZE + i32.lt_u + else + local.get $4 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 212 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + call $~lib/allocator/tlsf/Block#get:right + local.tee $4 + i32.eqz + if (result i32) + i32.const 0 + i32.const 72 + i32.const 216 + i32.const 23 + call $~lib/env/abort + unreachable + else + local.get $4 + end + local.set $5 + local.get $5 + i32.load + local.set $6 + local.get $6 + global.get $~lib/allocator/tlsf/FREE + i32.and + if + local.get $0 + local.get $5 + call $~lib/allocator/tlsf/Root#remove + local.get $1 + local.get $2 + global.get $~lib/allocator/tlsf/Block.INFO + local.get $6 + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + i32.add + i32.add + local.tee $2 + i32.store + local.get $1 + call $~lib/allocator/tlsf/Block#get:right + local.set $5 + local.get $5 + i32.load + local.set $6 + end + local.get $2 + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.and + if + local.get $1 + call $~lib/allocator/tlsf/Block#get:left + local.tee $4 + i32.eqz + if (result i32) + i32.const 0 + i32.const 72 + i32.const 230 + i32.const 24 + call $~lib/env/abort + unreachable + else + local.get $4 + end + local.set $4 + local.get $4 + i32.load + local.set $7 + local.get $7 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 232 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $4 + call $~lib/allocator/tlsf/Root#remove + local.get $4 + local.get $7 + global.get $~lib/allocator/tlsf/Block.INFO + local.get $2 + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + i32.add + i32.add + local.tee $7 + i32.store + local.get $4 + local.set $1 + local.get $7 + local.set $2 + end + local.get $5 + local.get $6 + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.or + i32.store + local.get $0 + local.get $1 + local.get $5 + call $~lib/allocator/tlsf/Root#setJump + local.get $2 + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + i32.ge_u + local.tee $7 + if (result i32) + local.get $3 + global.get $~lib/allocator/tlsf/Block.MAX_SIZE + i32.lt_u + else + local.get $7 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 245 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $3 + global.get $~lib/allocator/tlsf/SB_SIZE + i32.lt_u + if + i32.const 0 + local.set $8 + local.get $3 + i32.const 8 + i32.div_u + local.set $9 + else + local.get $3 + call $~lib/allocator/tlsf/fls + local.set $8 + local.get $3 + local.get $8 + global.get $~lib/allocator/tlsf/SL_BITS + i32.sub + i32.shr_u + i32.const 1 + global.get $~lib/allocator/tlsf/SL_BITS + i32.shl + i32.xor + local.set $9 + local.get $8 + global.get $~lib/allocator/tlsf/SB_BITS + i32.const 1 + i32.sub + i32.sub + local.set $8 + end + local.get $0 + local.get $8 + local.get $9 + call $~lib/allocator/tlsf/Root#getHead + local.set $10 + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + local.get $10 + i32.store offset=8 + local.get $10 + if + local.get $10 + local.get $1 + i32.store offset=4 + end + local.get $0 + local.get $8 + local.get $9 + local.get $1 + call $~lib/allocator/tlsf/Root#setHead + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $8 + i32.shl + i32.or + i32.store + local.get $0 + local.get $8 + local.get $0 + local.get $8 + call $~lib/allocator/tlsf/Root#getSLMap + i32.const 1 + local.get $9 + i32.shl + i32.or + call $~lib/allocator/tlsf/Root#setSLMap + ) + (func $~lib/allocator/tlsf/Root#addMemory (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $2 + i32.le_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 396 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + i32.const 7 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 397 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 7 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 398 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + call $~lib/allocator/tlsf/Root#get:tailRef + local.set $3 + i32.const 0 + local.set $4 + local.get $3 + if + local.get $1 + local.get $3 + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 403 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $1 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.get $3 + i32.eq + if + local.get $1 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $1 + local.get $3 + i32.load + local.set $4 + end + else + local.get $1 + local.get $0 + global.get $~lib/allocator/tlsf/Root.SIZE + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 412 + i32.const 6 + call $~lib/env/abort + unreachable + end + end + local.get $2 + local.get $1 + i32.sub + local.set $5 + local.get $5 + global.get $~lib/allocator/tlsf/Block.INFO + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + i32.add + global.get $~lib/allocator/tlsf/Block.INFO + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $5 + i32.const 2 + global.get $~lib/allocator/tlsf/Block.INFO + i32.mul + i32.sub + local.set $6 + local.get $1 + local.set $7 + local.get $7 + local.get $6 + global.get $~lib/allocator/tlsf/FREE + i32.or + local.get $4 + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.and + i32.or + i32.store + local.get $7 + i32.const 0 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=8 + local.get $1 + local.get $5 + i32.add + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $8 + local.get $8 + i32.const 0 + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.or + i32.store + local.get $0 + local.get $8 + call $~lib/allocator/tlsf/Root#set:tailRef + local.get $0 + local.get $7 + call $~lib/allocator/tlsf/Root#insert + i32.const 1 + ) + (func $~lib/allocator/tlsf/ffs (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 441 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.ctz + ) + (func $~lib/allocator/tlsf/ffs (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 441 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $0 + i32.ctz + ) + (func $~lib/allocator/tlsf/Root#search (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $1 + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + i32.ge_u + local.tee $2 + if (result i32) + local.get $1 + global.get $~lib/allocator/tlsf/Block.MAX_SIZE + i32.lt_u + else + local.get $2 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 315 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $1 + global.get $~lib/allocator/tlsf/SB_SIZE + i32.lt_u + if + i32.const 0 + local.set $3 + local.get $1 + i32.const 8 + i32.div_u + local.set $4 + else + local.get $1 + call $~lib/allocator/tlsf/fls + local.set $3 + local.get $1 + local.get $3 + global.get $~lib/allocator/tlsf/SL_BITS + i32.sub + i32.shr_u + i32.const 1 + global.get $~lib/allocator/tlsf/SL_BITS + i32.shl + i32.xor + local.set $4 + local.get $3 + global.get $~lib/allocator/tlsf/SB_BITS + i32.const 1 + i32.sub + i32.sub + local.set $3 + local.get $4 + global.get $~lib/allocator/tlsf/SL_SIZE + i32.const 1 + i32.sub + i32.lt_u + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + else + local.get $3 + i32.const 1 + i32.add + local.set $3 + i32.const 0 + local.set $4 + end + end + local.get $0 + local.get $3 + call $~lib/allocator/tlsf/Root#getSLMap + i32.const 0 + i32.const -1 + i32.xor + local.get $4 + i32.shl + i32.and + local.set $5 + local.get $5 + i32.eqz + if + local.get $0 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.const 1 + i32.add + i32.shl + i32.and + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + local.set $6 + else + local.get $2 + call $~lib/allocator/tlsf/ffs + local.set $3 + local.get $0 + local.get $3 + call $~lib/allocator/tlsf/Root#getSLMap + local.tee $7 + if (result i32) + local.get $7 + else + i32.const 0 + i32.const 72 + i32.const 342 + i32.const 16 + call $~lib/env/abort + unreachable + end + local.set $5 + local.get $0 + local.get $3 + local.get $5 + call $~lib/allocator/tlsf/ffs + call $~lib/allocator/tlsf/Root#getHead + local.set $6 + end + else + local.get $0 + local.get $3 + local.get $5 + call $~lib/allocator/tlsf/ffs + call $~lib/allocator/tlsf/Root#getHead + local.set $6 + end + local.get $6 + ) + (func $~lib/allocator/tlsf/Root#use (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 367 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + i32.ge_u + local.tee $4 + if (result i32) + local.get $2 + global.get $~lib/allocator/tlsf/Block.MAX_SIZE + i32.lt_u + else + local.get $4 + end + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 368 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + i32.const 7 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 369 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/allocator/tlsf/Root#remove + local.get $3 + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.sub + local.set $5 + local.get $5 + global.get $~lib/allocator/tlsf/Block.INFO + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + i32.add + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.and + i32.or + i32.store + local.get $1 + global.get $~lib/allocator/tlsf/Block.INFO + i32.add + local.get $2 + i32.add + local.set $4 + local.get $4 + local.get $5 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + global.get $~lib/allocator/tlsf/FREE + i32.or + i32.store + local.get $0 + local.get $4 + call $~lib/allocator/tlsf/Root#insert + else + local.get $1 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + call $~lib/allocator/tlsf/Block#get:right + local.tee $4 + i32.eqz + if (result i32) + i32.const 0 + i32.const 72 + i32.const 387 + i32.const 25 + call $~lib/env/abort + unreachable + else + local.get $4 + end + local.set $4 + local.get $4 + local.get $4 + i32.load + global.get $~lib/allocator/tlsf/LEFT_FREE + i32.const -1 + i32.xor + i32.and + i32.store + end + local.get $1 + global.get $~lib/allocator/tlsf/Block.INFO + i32.add + ) + (func $~lib/allocator/tlsf/__mem_allocate (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/allocator/tlsf/ROOT + local.set $1 + local.get $1 + i32.eqz + if + global.get $~lib/memory/HEAP_BASE + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + local.set $2 + current_memory + local.set $3 + local.get $2 + global.get $~lib/allocator/tlsf/Root.SIZE + i32.add + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $4 + local.get $4 + local.get $3 + i32.gt_s + local.tee $5 + if (result i32) + local.get $4 + local.get $3 + i32.sub + grow_memory + i32.const 0 + i32.lt_s + else + local.get $5 + end + if + unreachable + end + local.get $2 + local.tee $1 + global.set $~lib/allocator/tlsf/ROOT + local.get $1 + i32.const 0 + call $~lib/allocator/tlsf/Root#set:tailRef + local.get $1 + i32.const 0 + i32.store + block $break|0 + i32.const 0 + local.set $5 + loop $repeat|0 + local.get $5 + global.get $~lib/allocator/tlsf/FL_BITS + i32.lt_u + i32.eqz + br_if $break|0 + block + local.get $1 + local.get $5 + i32.const 0 + call $~lib/allocator/tlsf/Root#setSLMap + block $break|1 + i32.const 0 + local.set $6 + loop $repeat|1 + local.get $6 + global.get $~lib/allocator/tlsf/SL_SIZE + i32.lt_u + i32.eqz + br_if $break|1 + local.get $1 + local.get $5 + local.get $6 + i32.const 0 + call $~lib/allocator/tlsf/Root#setHead + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $repeat|1 + unreachable + end + unreachable + end + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $repeat|0 + unreachable + end + unreachable + end + local.get $1 + local.get $2 + global.get $~lib/allocator/tlsf/Root.SIZE + i32.add + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + current_memory + i32.const 16 + i32.shl + call $~lib/allocator/tlsf/Root#addMemory + drop + end + local.get $0 + global.get $~lib/allocator/tlsf/Block.MAX_SIZE + i32.gt_u + if + unreachable + end + local.get $0 + i32.const 7 + i32.add + i32.const 7 + i32.const -1 + i32.xor + i32.and + local.tee $4 + global.get $~lib/allocator/tlsf/Block.MIN_SIZE + local.tee $3 + local.get $4 + local.get $3 + i32.gt_u + select + local.set $0 + local.get $1 + local.get $0 + call $~lib/allocator/tlsf/Root#search + local.set $7 + local.get $7 + i32.eqz + if + current_memory + local.set $4 + local.get $0 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $4 + local.tee $2 + local.get $3 + local.tee $5 + local.get $2 + local.get $5 + i32.gt_s + select + local.set $2 + local.get $2 + grow_memory + i32.const 0 + i32.lt_s + if + local.get $3 + grow_memory + i32.const 0 + i32.lt_s + if + unreachable + end + end + current_memory + local.set $5 + local.get $1 + local.get $4 + i32.const 16 + i32.shl + local.get $5 + i32.const 16 + i32.shl + call $~lib/allocator/tlsf/Root#addMemory + drop + local.get $1 + local.get $0 + call $~lib/allocator/tlsf/Root#search + local.tee $6 + i32.eqz + if (result i32) + i32.const 0 + i32.const 72 + i32.const 502 + i32.const 12 + call $~lib/env/abort + unreachable + else + local.get $6 + end + local.set $7 + end + local.get $7 + i32.load + global.get $~lib/allocator/tlsf/TAGS + i32.const -1 + i32.xor + i32.and + local.get $0 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 505 + i32.const 2 + call $~lib/env/abort + unreachable + end + local.get $1 + local.get $7 + local.get $0 + call $~lib/allocator/tlsf/Root#use + ) + (func $~lib/memory/memory.allocate (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/allocator/tlsf/__mem_allocate + return + ) + (func $~lib/util/runtime/allocate (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/util/runtime/adjust + call $~lib/memory/memory.allocate + local.set $1 + local.get $1 + global.get $~lib/util/runtime/HEADER_MAGIC + i32.store + local.get $1 + local.get $0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $1 + global.get $~lib/util/runtime/HEADER_SIZE + i32.add + ) + (func $~lib/collector/itcm/ManagedObjectList#clear (; 49 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $0 + i32.store offset=12 + ) + (func $~lib/collector/itcm/maybeInit (; 50 ;) (type $FUNCSIG$v) + global.get $~lib/collector/itcm/state + i32.const 0 + i32.eq + if + global.get $~lib/util/runtime/HEADER_SIZE + call $~lib/memory/memory.allocate + global.set $~lib/collector/itcm/fromSpace + global.get $~lib/collector/itcm/fromSpace + i32.const -1 + i32.store + global.get $~lib/collector/itcm/fromSpace + i32.const 0 + i32.store offset=4 + global.get $~lib/collector/itcm/fromSpace + call $~lib/collector/itcm/ManagedObjectList#clear + global.get $~lib/util/runtime/HEADER_SIZE + call $~lib/memory/memory.allocate + global.set $~lib/collector/itcm/toSpace + global.get $~lib/collector/itcm/toSpace + i32.const -1 + i32.store + global.get $~lib/collector/itcm/toSpace + i32.const 0 + i32.store offset=4 + global.get $~lib/collector/itcm/toSpace + call $~lib/collector/itcm/ManagedObjectList#clear + global.get $~lib/collector/itcm/toSpace + global.set $~lib/collector/itcm/iter + i32.const 1 + global.set $~lib/collector/itcm/state + end + ) + (func $~lib/collector/itcm/ManagedObject#set:color (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.or + i32.store offset=8 + ) + (func $~lib/collector/itcm/ManagedObject#set:next (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.and + i32.or + i32.store offset=8 + ) + (func $~lib/collector/itcm/ManagedObjectList#push (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load offset=12 + local.set $2 + local.get $1 + local.get $0 + call $~lib/collector/itcm/ManagedObject#set:next + local.get $1 + local.get $2 + i32.store offset=12 + local.get $2 + local.get $1 + call $~lib/collector/itcm/ManagedObject#set:next + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/collector/itcm/__ref_register (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + call $~lib/collector/itcm/maybeInit + block $~lib/collector/itcm/refToObj|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + end + local.set $2 + local.get $2 + global.get $~lib/collector/itcm/white + call $~lib/collector/itcm/ManagedObject#set:color + global.get $~lib/collector/itcm/fromSpace + local.get $2 + call $~lib/collector/itcm/ManagedObjectList#push + ) + (func $~lib/util/runtime/register (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + global.get $~lib/memory/HEAP_BASE + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 136 + i32.const 128 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $0 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + local.set $2 + local.get $2 + i32.load + global.get $~lib/util/runtime/HEADER_MAGIC + i32.eq + i32.eqz + if + i32.const 0 + i32.const 136 + i32.const 130 + i32.const 4 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $1 + i32.store + local.get $0 + call $~lib/collector/itcm/__ref_register + local.get $0 + ) + (func $~lib/runtime/runtime.newObject (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + call $~lib/util/runtime/allocate + local.get $1 + call $~lib/util/runtime/register + ) + (func $~lib/runtime/runtime.newString (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/runtime/runtime.newArrayBuffer (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.const 26 + call $~lib/runtime/runtime.newObject + ) + (func $~lib/collector/itcm/ManagedObject#get:color (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=8 + i32.const 3 + i32.and + ) + (func $~lib/collector/itcm/ManagedObject#get:next (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.load offset=8 + i32.const 3 + i32.const -1 + i32.xor + i32.and + ) + (func $~lib/collector/itcm/ManagedObject#unlink (; 61 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + call $~lib/collector/itcm/ManagedObject#get:next + local.set $1 + local.get $0 + i32.load offset=12 + local.set $2 + local.get $1 + local.get $2 + i32.store offset=12 + local.get $2 + local.get $1 + call $~lib/collector/itcm/ManagedObject#set:next + ) + (func $~lib/collector/itcm/ManagedObject#makeGray (; 62 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/collector/itcm/iter + i32.eq + if + local.get $0 + i32.load offset=12 + global.set $~lib/collector/itcm/iter + end + local.get $0 + call $~lib/collector/itcm/ManagedObject#unlink + global.get $~lib/collector/itcm/toSpace + local.get $0 + call $~lib/collector/itcm/ManagedObjectList#push + local.get $0 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 2 + i32.or + i32.store offset=8 + ) + (func $~lib/collector/itcm/__ref_link (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + call $~lib/collector/itcm/maybeInit + block $~lib/collector/itcm/refToObj|inlined.1 (result i32) + local.get $1 + local.set $2 + local.get $2 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + end + local.set $3 + local.get $3 + call $~lib/collector/itcm/ManagedObject#get:color + global.get $~lib/collector/itcm/white + i32.eqz + i32.eq + local.tee $2 + if (result i32) + block $~lib/collector/itcm/refToObj|inlined.3 (result i32) + local.get $0 + local.set $2 + local.get $2 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + end + call $~lib/collector/itcm/ManagedObject#get:color + global.get $~lib/collector/itcm/white + i32.eq + else + local.get $2 + end + if + local.get $3 + call $~lib/collector/itcm/ManagedObject#makeGray + end + ) + (func $~lib/memory/memory.copy (; 64 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $1 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $0 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + block $break|0 + loop $continue|0 + local.get $0 + i32.const 7 + i32.and + if + block + local.get $2 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $2 + i32.const 1 + i32.sub + local.set $2 + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + end + br $continue|0 + end + end + end + block $break|1 + loop $continue|1 + local.get $2 + i32.const 8 + i32.ge_u + if + block + local.get $0 + local.get $1 + i64.load + i64.store + local.get $2 + i32.const 8 + i32.sub + local.set $2 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + br $continue|1 + end + end + end + end + block $break|2 + loop $continue|2 + local.get $2 + if + block + block (result i32) + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + end + block (result i32) + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + end + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + end + br $continue|2 + end + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + block $break|3 + loop $continue|3 + local.get $0 + local.get $2 + i32.add + i32.const 7 + i32.and + if + block + local.get $2 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + end + br $continue|3 + end + end + end + block $break|4 + loop $continue|4 + local.get $2 + i32.const 8 + i32.ge_u + if + block + local.get $2 + i32.const 8 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.add + local.get $1 + local.get $2 + i32.add + i64.load + i64.store + end + br $continue|4 + end + end + end + end + block $break|5 + loop $continue|5 + local.get $2 + if + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_u + i32.store8 + br $continue|5 + end + end + end + end + end + ) + (func $~lib/runtime/runtime.newArray (; 65 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 16 + call $~lib/util/runtime/allocate + local.get $2 + call $~lib/util/runtime/register + local.set $4 + local.get $0 + local.get $1 + i32.shl + local.set $5 + local.get $5 + call $~lib/util/runtime/allocate + i32.const 26 + call $~lib/util/runtime/register + local.set $6 + local.get $4 + local.tee $7 + local.get $6 + local.tee $8 + local.get $7 + i32.load + local.tee $9 + i32.ne + if (result i32) + nop + local.get $8 + local.get $7 + call $~lib/collector/itcm/__ref_link + local.get $8 + else + local.get $8 + end + i32.store + local.get $4 + local.get $6 + i32.store offset=4 + local.get $4 + local.get $5 + i32.store offset=8 + local.get $4 + local.get $0 + i32.store offset=12 + local.get $3 + if + local.get $6 + local.get $3 + local.get $5 + call $~lib/memory/memory.copy + end + local.get $4 + ) + (func $~lib/runtime/Root#constructor (; 66 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + call $~lib/util/runtime/allocate + i32.const 27 + call $~lib/util/runtime/register + local.set $0 + end + local.get $0 + ) + (func $~lib/runtime/runtime.retain (; 67 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.get $~lib/runtime/ROOT + call $~lib/collector/itcm/__ref_link + ) + (func $~lib/runtime/runtime.release (; 68 ;) (type $FUNCSIG$vi) (param $0 i32) + nop + ) + (func $~lib/allocator/tlsf/__mem_free (; 69 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if + global.get $~lib/allocator/tlsf/ROOT + local.set $1 + local.get $1 + if + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + local.set $2 + local.get $2 + i32.load + local.set $3 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 72 + i32.const 518 + i32.const 6 + call $~lib/env/abort + unreachable + end + local.get $2 + local.get $3 + global.get $~lib/allocator/tlsf/FREE + i32.or + i32.store + local.get $1 + local.get $0 + global.get $~lib/allocator/tlsf/Block.INFO + i32.sub + call $~lib/allocator/tlsf/Root#insert + end + end + ) + (func $~lib/memory/memory.free (; 70 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + call $~lib/allocator/tlsf/__mem_free + ) + (func $~lib/collector/itcm/step (; 71 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + block $break|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/collector/itcm/state + local.set $1 + local.get $1 + i32.const 0 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $1 + i32.const 3 + i32.eq + br_if $case3|0 + br $break|0 + end + unreachable + end + block + call $~lib/runtime/__gc_mark_roots + i32.const 2 + global.set $~lib/collector/itcm/state + br $break|0 + unreachable + end + unreachable + end + block + global.get $~lib/collector/itcm/iter + call $~lib/collector/itcm/ManagedObject#get:next + local.set $0 + local.get $0 + global.get $~lib/collector/itcm/toSpace + i32.ne + if + local.get $0 + global.set $~lib/collector/itcm/iter + local.get $0 + global.get $~lib/collector/itcm/white + i32.eqz + call $~lib/collector/itcm/ManagedObject#set:color + local.get $0 + i32.load + block $~lib/collector/itcm/objToRef|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 + global.get $~lib/util/runtime/HEADER_SIZE + i32.add + end + call $~lib/runtime/__gc_mark_members + else + call $~lib/runtime/__gc_mark_roots + global.get $~lib/collector/itcm/iter + call $~lib/collector/itcm/ManagedObject#get:next + local.set $0 + local.get $0 + global.get $~lib/collector/itcm/toSpace + i32.eq + if + global.get $~lib/collector/itcm/fromSpace + local.set $1 + global.get $~lib/collector/itcm/toSpace + global.set $~lib/collector/itcm/fromSpace + local.get $1 + global.set $~lib/collector/itcm/toSpace + global.get $~lib/collector/itcm/white + i32.eqz + global.set $~lib/collector/itcm/white + local.get $1 + call $~lib/collector/itcm/ManagedObject#get:next + global.set $~lib/collector/itcm/iter + i32.const 3 + global.set $~lib/collector/itcm/state + end + end + br $break|0 + unreachable + end + unreachable + end + block + global.get $~lib/collector/itcm/iter + local.set $0 + local.get $0 + global.get $~lib/collector/itcm/toSpace + i32.ne + if + local.get $0 + call $~lib/collector/itcm/ManagedObject#get:next + global.set $~lib/collector/itcm/iter + local.get $0 + global.get $~lib/memory/HEAP_BASE + i32.ge_u + if + local.get $0 + call $~lib/memory/memory.free + end + else + global.get $~lib/collector/itcm/toSpace + call $~lib/collector/itcm/ManagedObjectList#clear + i32.const 1 + global.set $~lib/collector/itcm/state + end + br $break|0 + unreachable + end + unreachable + end + ) + (func $~lib/collector/itcm/__ref_collect (; 72 ;) (type $FUNCSIG$v) + call $~lib/collector/itcm/maybeInit + block $break|0 + loop $continue|0 + global.get $~lib/collector/itcm/state + i32.const 1 + i32.ne + if + call $~lib/collector/itcm/step + br $continue|0 + end + end + end + block $break|1 + loop $continue|1 + call $~lib/collector/itcm/step + global.get $~lib/collector/itcm/state + i32.const 1 + i32.ne + br_if $continue|1 + end + end + ) + (func $~lib/runtime/runtime.collect (; 73 ;) (type $FUNCSIG$v) + call $~lib/collector/itcm/__ref_collect + ) + (func $~lib/runtime/runtime#constructor (; 74 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + unreachable + ) + (func $start (; 75 ;) (type $FUNCSIG$v) + call $start:runtime/flags + i32.const 0 + call $~lib/runtime/Root#constructor + global.set $~lib/runtime/ROOT + ) + (func $~lib/collector/itcm/__ref_mark (; 76 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + call $~lib/collector/itcm/maybeInit + block $~lib/collector/itcm/refToObj|inlined.4 (result i32) + local.get $0 + local.set $1 + local.get $1 + global.get $~lib/util/runtime/HEADER_SIZE + i32.sub + end + local.set $2 + local.get $2 + call $~lib/collector/itcm/ManagedObject#get:color + global.get $~lib/collector/itcm/white + i32.eq + if + local.get $2 + call $~lib/collector/itcm/ManagedObject#makeGray + end + ) + (func $~lib/runtime/__gc_mark_roots (; 77 ;) (type $FUNCSIG$v) + (local $0 i32) + global.get $~lib/runtime/ROOT + local.tee $0 + if + local.get $0 + call $~lib/collector/itcm/__ref_mark + end + ) + (func $~lib/array/Array#__traverse (; 78 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/array/Array#__traverse (; 79 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/array/Array#__traverse (; 80 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/array/Array#__traverse (; 81 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/array/Array#__traverse (; 82 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/array/Array#__traverse (; 83 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + local.get $0 + i32.load offset=8 + i32.add + local.set $2 + block $break|0 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + block + local.get $1 + i32.load + local.set $3 + local.get $3 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $3 + call $~lib/runtime/__gc_mark_members + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + br $continue|0 + end + end + end + ) + (func $~lib/array/Array#__traverse (; 84 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + local.get $0 + i32.load offset=8 + i32.add + local.set $2 + block $break|0 + loop $continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + block + local.get $1 + i32.load + local.set $3 + local.get $3 + if + local.get $3 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $3 + call $~lib/runtime/__gc_mark_members + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + br $continue|0 + end + end + end + ) + (func $~lib/set/Set#__traverse (; 85 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/set/Set#__traverse (; 86 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/set/Set#__traverse (; 87 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/set/Set#__traverse (; 88 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/set/Set#__traverse (; 89 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/set/Set#__traverse (; 90 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + local.get $1 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=16 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + end + i32.mul + 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 + local.set $4 + local.get $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + i32.load + local.set $5 + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + local.get $2 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + end + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/set/Set#__traverse (; 91 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + local.get $1 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=16 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + end + i32.mul + 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 + local.set $4 + local.get $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + end + local.get $2 + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + end + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/map/Map#__traverse (; 92 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/map/Map#__traverse (; 93 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/map/Map#__traverse (; 94 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/map/Map#__traverse (; 95 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/map/Map#__traverse (; 96 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + ) + (func $~lib/map/Map#__traverse (; 97 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + local.get $1 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + end + i32.mul + 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 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + i32.load + local.set $5 + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + local.get $2 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + end + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/map/Map#__traverse (; 98 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + local.get $1 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + end + i32.mul + 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 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + end + local.get $2 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + end + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/map/Map#__traverse (; 99 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + local.get $1 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + end + i32.mul + 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 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + i32.load offset=4 + local.set $5 + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + local.get $2 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + end + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/map/Map#__traverse (; 100 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + local.get $1 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + end + i32.mul + 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 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + i32.load offset=4 + local.set $5 + local.get $5 + if + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + end + local.get $2 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + end + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/map/Map#__traverse (; 101 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + call $~lib/collector/itcm/__ref_mark + local.get $0 + i32.load offset=8 + local.set $1 + local.get $1 + call $~lib/collector/itcm/__ref_mark + local.get $1 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=16 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + end + i32.mul + 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 + local.set $4 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + local.get $4 + i32.load offset=4 + local.set $5 + local.get $5 + if + local.get $5 + call $~lib/collector/itcm/__ref_mark + i32.const 28 + local.get $5 + call $~lib/runtime/__gc_mark_members + end + end + local.get $2 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + end + i32.add + local.set $2 + end + br $continue|0 + end + end + end + ) + (func $~lib/runtime/__gc_mark_members (; 102 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (local $2 i32) + block $invalid + block $runtime/flags/Ref + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/string/String + block $~lib/array/Array + local.get $0 + br_table $invalid $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $invalid + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/array/Array#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/set/Set#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + local.get $1 + call $~lib/map/Map#__traverse + return + end + return + end + return + end + return + end + unreachable + ) + (func $~lib/runtime/__runtime_instanceof (; 103 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + block $nope + block $~lib/arraybuffer/ArrayBufferView + block $runtime/flags/Ref + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/string/String + block $~lib/array/Array + local.get $0 + br_table $nope $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $nope + end + local.get $1 + i32.const 1 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 2 + i32.eq + return + end + local.get $1 + i32.const 3 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 4 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 5 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 6 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 7 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 8 + i32.eq + local.get $1 + i32.const 29 + i32.eq + i32.or + return + end + local.get $1 + i32.const 9 + i32.eq + return + end + local.get $1 + i32.const 10 + i32.eq + return + end + local.get $1 + i32.const 11 + i32.eq + return + end + local.get $1 + i32.const 12 + i32.eq + return + end + local.get $1 + i32.const 13 + i32.eq + return + end + local.get $1 + i32.const 14 + i32.eq + return + end + local.get $1 + i32.const 15 + i32.eq + return + end + local.get $1 + i32.const 16 + i32.eq + return + end + local.get $1 + i32.const 17 + i32.eq + return + end + local.get $1 + i32.const 18 + i32.eq + return + end + local.get $1 + i32.const 19 + i32.eq + return + end + local.get $1 + i32.const 20 + i32.eq + return + end + local.get $1 + i32.const 21 + i32.eq + return + end + local.get $1 + i32.const 22 + i32.eq + return + end + local.get $1 + i32.const 23 + i32.eq + return + end + local.get $1 + i32.const 24 + i32.eq + return + end + local.get $1 + i32.const 25 + i32.eq + return + end + local.get $1 + i32.const 26 + i32.eq + return + end + local.get $1 + i32.const 27 + i32.eq + return + end + local.get $1 + i32.const 28 + i32.eq + return + end + local.get $1 + i32.const 29 + i32.eq + return + end + i32.const 0 + return + ) + (func $~lib/runtime/__runtime_flags (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $runtime/flags/Ref + block $~lib/runtime/Root + block $~lib/arraybuffer/ArrayBuffer + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/set/Set + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/string/String + block $~lib/array/Array + local.get $0 + br_table $invalid $~lib/array/Array $~lib/string/String $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/set/Set $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/arraybuffer/ArrayBuffer $~lib/runtime/Root $runtime/flags/Ref $~lib/arraybuffer/ArrayBufferView $invalid + end + i32.const 9 + return + end + i32.const 0 + return + end + i32.const 17 + return + end + i32.const 33 + return + end + i32.const 65 + return + end + i32.const 129 + return + end + i32.const 545 + return + end + i32.const 801 + return + end + i32.const 10 + return + end + i32.const 18 + return + end + i32.const 34 + return + end + i32.const 66 + return + end + i32.const 130 + return + end + i32.const 546 + return + end + i32.const 802 + return + end + i32.const 16396 + return + end + i32.const 8212 + return + end + i32.const 4132 + return + end + i32.const 2116 + return + end + i32.const 1156 + return + end + i32.const 69644 + return + end + i32.const 102412 + return + end + i32.const 1572 + return + end + i32.const 1828 + return + end + i32.const 103204 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + i32.const 0 + return + end + unreachable + ) + (func $null (; 105 ;) (type $FUNCSIG$v) + ) + (func $~lib/runtime/runtime.newArray|trampoline (; 106 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~lib/argc + i32.const 3 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/runtime/runtime.newArray + ) + (func $~lib/setargc (; 107 ;) (type $FUNCSIG$vi) (param $0 i32) + local.get $0 + global.set $~lib/argc + ) +) diff --git a/tests/compiler/runtime/instanceof.optimized.wat b/tests/compiler/runtime/instanceof.optimized.wat index ab75a982..acaa34bd 100644 --- a/tests/compiler/runtime/instanceof.optimized.wat +++ b/tests/compiler/runtime/instanceof.optimized.wat @@ -11,10 +11,10 @@ (memory $0 1) (data (i32.const 8) "\02\00\00\00*") (data (i32.const 24) "r\00u\00n\00t\00i\00m\00e\00/\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") - (data (i32.const 72) "\02\00\00\00\1e") - (data (i32.const 88) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 120) "\02\00\00\00\16") - (data (i32.const 136) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") + (data (i32.const 72) "\02\00\00\00(") + (data (i32.const 88) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 128) "\02\00\00\00\16") + (data (i32.const 144) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/register_count (mut i32) (i32.const 0)) @@ -35,7 +35,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $runtime/instanceof/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -98,7 +98,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -119,7 +119,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 136 + i32.const 144 i32.const 1 local.get $0 f64.convert_i32_u @@ -135,16 +135,16 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 160 + i32.const 168 i32.le_u if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -158,8 +158,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -175,9 +175,9 @@ if (result i32) local.get $0 else - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end ) (func $runtime/instanceof/Cat#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -185,16 +185,16 @@ if (result i32) local.get $0 else - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end call $runtime/instanceof/Animal#constructor ) (func $runtime/instanceof/BlackCat#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register call $runtime/instanceof/Cat#constructor ) (func $start:runtime/instanceof (; 9 ;) (type $FUNCSIG$v) @@ -292,7 +292,7 @@ call $~lib/env/abort unreachable end - i32.const 160 + i32.const 168 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/runtime/instanceof.untouched.wat b/tests/compiler/runtime/instanceof.untouched.wat index 844c5735..66eb33f4 100644 --- a/tests/compiler/runtime/instanceof.untouched.wat +++ b/tests/compiler/runtime/instanceof.untouched.wat @@ -9,8 +9,8 @@ (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) (data (i32.const 8) "\02\00\00\00*\00\00\00\00\00\00\00\00\00\00\00r\00u\00n\00t\00i\00m\00e\00/\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00") - (data (i32.const 72) "\02\00\00\00\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 120) "\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 72) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 128) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $gc/_dummy/collect_count (mut i32) (i32.const 0)) @@ -39,12 +39,12 @@ (global $runtime/instanceof/nullCat (mut i32) (i32.const 0)) (global $runtime/instanceof/nullBlackcat (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 160)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 168)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $runtime/instanceof/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -141,7 +141,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -164,7 +164,7 @@ i32.add ) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) - i32.const 136 + i32.const 144 i32.const 1 local.get $0 f64.convert_i32_u @@ -180,7 +180,7 @@ local.get $0 global.set $gc/_dummy/register_ref ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -189,8 +189,8 @@ if i32.const 0 i32.const 88 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -206,8 +206,8 @@ if i32.const 0 i32.const 88 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -223,9 +223,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -235,9 +235,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -250,9 +250,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/std/array-access.optimized.wat b/tests/compiler/std/array-access.optimized.wat index 191b024f..cbeb13b2 100644 --- a/tests/compiler/std/array-access.optimized.wat +++ b/tests/compiler/std/array-access.optimized.wat @@ -142,7 +142,7 @@ if i32.const 0 i32.const 64 - i32.const 172 + i32.const 178 i32.const 4 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array-access.untouched.wat b/tests/compiler/std/array-access.untouched.wat index 90a4ecc6..73edcecb 100644 --- a/tests/compiler/std/array-access.untouched.wat +++ b/tests/compiler/std/array-access.untouched.wat @@ -218,7 +218,7 @@ if i32.const 0 i32.const 64 - i32.const 172 + i32.const 178 i32.const 4 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index a59a5bd0..2d41c866 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -21,8 +21,8 @@ (data (i32.const 232) "\01") (data (i32.const 248) "\04\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 296) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 280) "\03\00\00\00(") + (data (i32.const 296) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264)) @@ -36,7 +36,7 @@ (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/array/Array#__get (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $1 @@ -142,7 +142,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -169,16 +169,16 @@ i32.const 16 i32.add ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 328 + i32.const 336 i32.le_u if i32.const 0 i32.const 296 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -192,8 +192,8 @@ if i32.const 0 i32.const 296 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -206,17 +206,17 @@ (local $2 i32) (local $3 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $1 i32.const 3 local.get $0 i32.shl local.tee $0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.tee $3 local.get $1 @@ -239,15 +239,15 @@ ) (func $std/array-literal/Ref#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/array-literal/RefWithCtor#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $start:std/array-literal (; 9 ;) (type $FUNCSIG$v) (local $0 i32) @@ -361,7 +361,7 @@ call $~lib/env/abort unreachable end - i32.const 328 + i32.const 336 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index 49292eda..bb62bc71 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -17,7 +17,7 @@ (data (i32.const 200) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\00\00\00\b8\00\00\00\0c\00\00\00\03\00\00\00") (data (i32.const 232) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 248) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 280) "\03\00\00\00\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 280) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/array-literal/staticArrayI8 i32 (i32.const 48)) @@ -33,11 +33,11 @@ (global $std/array-literal/dynamicArrayI32 (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRef (mut i32) (i32.const 0)) (global $std/array-literal/dynamicArrayRefWithCtor (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 328)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 336)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/array/Array#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -199,7 +199,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -224,7 +224,7 @@ (func $~lib/collector/dummy/__ref_register (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/runtime.register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -233,8 +233,8 @@ if i32.const 0 i32.const 296 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -250,8 +250,8 @@ if i32.const 0 i32.const 296 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -485,18 +485,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -544,9 +544,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -560,9 +560,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index ec41dcb5..ca8e1841 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -28,397 +28,395 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00&") (data (i32.const 24) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 64) "\01\00\00\00\1e") - (data (i32.const 80) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 112) "\01\00\00\00\06") - (data (i32.const 128) "a\00b\00c") - (data (i32.const 136) "\01\00\00\00\18") - (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 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") - (data (i32.const 256) "\01\00\00\00\1a") - (data (i32.const 272) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 304) "\02\00\00\00\05") - (data (i32.const 328) "\02\00\00\00\05") - (data (i32.const 344) "\01\01") - (data (i32.const 352) "\02\00\00\00\05") - (data (i32.const 368) "\01\01\00\02\02") - (data (i32.const 376) "\02\00\00\00\05") - (data (i32.const 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 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") - (data (i32.const 512) "\02\00\00\00\14") - (data (i32.const 552) "\02\00\00\00\14") - (data (i32.const 568) "\01\00\00\00\01") - (data (i32.const 592) "\02\00\00\00\14") - (data (i32.const 608) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 632) "\02\00\00\00\14") - (data (i32.const 648) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 672) "\01\00\00\00(") - (data (i32.const 688) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 728) "\02") - (data (i32.const 744) "\02") - (data (i32.const 760) "\04\00\00\00\10") - (data (i32.const 776) "\f8\02\00\00\f8\02") - (data (i32.const 792) "\02\00\00\00\14") - (data (i32.const 808) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 832) "\02\00\00\00\14") - (data (i32.const 848) "\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 872) "\02\00\00\00\14") - (data (i32.const 888) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 912) "\02\00\00\00\14") - (data (i32.const 928) "\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") - (data (i32.const 952) "\02\00\00\00\14") - (data (i32.const 968) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 992) "\02\00\00\00\14") - (data (i32.const 1008) "\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 1032) "\02\00\00\00\14") - (data (i32.const 1048) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1072) "\02\00\00\00\14") - (data (i32.const 1088) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1112) "\02\00\00\00\14") - (data (i32.const 1128) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1152) "\02\00\00\00\14") - (data (i32.const 1168) "\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1192) "\02\00\00\00\14") - (data (i32.const 1208) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1232) "\02\00\00\00\14") - (data (i32.const 1248) "\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1272) "\02\00\00\00\14") - (data (i32.const 1288) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1312) "\02\00\00\00\14") - (data (i32.const 1328) "\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1352) "\02\00\00\00\14") - (data (i32.const 1368) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1392) "\02\00\00\00\14") - (data (i32.const 1408) "\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1432) "\02\00\00\00\14") - (data (i32.const 1448) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1472) "\02\00\00\00\14") - (data (i32.const 1488) "\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1512) "\02\00\00\00\14") - (data (i32.const 1528) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1552) "\02\00\00\00\14") - (data (i32.const 1568) "\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1592) "\02\00\00\00\14") - (data (i32.const 1608) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1632) "\02\00\00\00\14") - (data (i32.const 1648) "\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 1672) "\02\00\00\00\14") - (data (i32.const 1688) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1712) "\02\00\00\00\14") - (data (i32.const 1728) "\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 1752) "\02\00\00\00\14") - (data (i32.const 1768) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1792) "\04\00\00\00\10") - (data (i32.const 1808) "\e8\06\00\00\e8\06\00\00\14\00\00\00\05") - (data (i32.const 1824) "\02\00\00\00\14") - (data (i32.const 1840) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1864) "\02") - (data (i32.const 1880) "\02\00\00\00\14") - (data (i32.const 1896) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1920) "\02\00\00\00\0c") - (data (i32.const 1936) "\03\00\00\00\04\00\00\00\05") - (data (i32.const 1952) "\02\00\00\00\08") - (data (i32.const 1968) "\01\00\00\00\02") - (data (i32.const 1976) "\02\00\00\00\14") - (data (i32.const 1992) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2016) "\02\00\00\00\08") - (data (i32.const 2032) "\03\00\00\00\04") - (data (i32.const 2040) "\02\00\00\00\0c") - (data (i32.const 2056) "\01\00\00\00\02\00\00\00\05") - (data (i32.const 2072) "\02\00\00\00\14") - (data (i32.const 2088) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2112) "\02\00\00\00\04") - (data (i32.const 2128) "\01") - (data (i32.const 2136) "\02\00\00\00\10") - (data (i32.const 2152) "\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2168) "\02\00\00\00\14") - (data (i32.const 2184) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2208) "\02\00\00\00\04") - (data (i32.const 2224) "\05") - (data (i32.const 2232) "\02\00\00\00\10") - (data (i32.const 2248) "\01\00\00\00\02\00\00\00\03\00\00\00\04") - (data (i32.const 2264) "\02\00\00\00\14") - (data (i32.const 2280) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2304) "\02\00\00\00\08") - (data (i32.const 2320) "\04\00\00\00\05") - (data (i32.const 2328) "\02\00\00\00\0c") - (data (i32.const 2344) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 2360) "\02\00\00\00\14") - (data (i32.const 2376) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2400) "\02\00\00\00\04") - (data (i32.const 2416) "\04") - (data (i32.const 2424) "\02\00\00\00\10") - (data (i32.const 2440) "\01\00\00\00\02\00\00\00\03\00\00\00\05") - (data (i32.const 2456) "\02\00\00\00\14") - (data (i32.const 2472) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2496) "\02\00\00\00\04") - (data (i32.const 2512) "\01") - (data (i32.const 2520) "\02\00\00\00\10") - (data (i32.const 2536) "\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2552) "\02\00\00\00\14") - (data (i32.const 2568) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2592) "\02") - (data (i32.const 2608) "\02\00\00\00\14") - (data (i32.const 2624) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2648) "\02\00\00\00\14") - (data (i32.const 2664) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2688) "\02") - (data (i32.const 2704) "\02\00\00\00\14") - (data (i32.const 2720) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2744) "\02\00\00\00\14") - (data (i32.const 2760) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2784) "\02") - (data (i32.const 2800) "\02\00\00\00\14") - (data (i32.const 2816) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2840) "\02\00\00\00\14") - (data (i32.const 2856) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2880) "\02") - (data (i32.const 2896) "\02\00\00\00\14") - (data (i32.const 2912) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2936) "\02\00\00\00\14") - (data (i32.const 2952) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2976) "\02") - (data (i32.const 2992) "\02\00\00\00\14") - (data (i32.const 3008) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3032) "\01\00\00\00\18") - (data (i32.const 3048) "~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 3072) "\01\00\00\00\ac") - (data (i32.const 3088) "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 3264) "\02\00\00\00 ") - (data (i32.const 3282) "\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 3312) "\t\00\00\00\10") - (data (i32.const 3328) "\d0\0c\00\00\d0\0c\00\00 \00\00\00\08") - (data (i32.const 3344) "\02\00\00\00 ") - (data (i32.const 3362) "\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 3392) "\02\00\00\00@") - (data (i32.const 3414) "\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 3454) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 3472) "\n\00\00\00\10") - (data (i32.const 3488) "P\0d\00\00P\0d\00\00@\00\00\00\08") - (data (i32.const 3504) "\02\00\00\00@") - (data (i32.const 3526) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 3558) "\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 3584) "\02\00\00\00\14") - (data (i32.const 3600) "\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3624) "\04\00\00\00\10") - (data (i32.const 3640) "\10\0e\00\00\10\0e\00\00\14\00\00\00\05") - (data (i32.const 3656) "\02\00\00\00\14") - (data (i32.const 3672) "\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 3696) "\02\00\00\00\14") - (data (i32.const 3712) "\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3736) "\08\00\00\00\10") - (data (i32.const 3752) "\80\0e\00\00\80\0e\00\00\14\00\00\00\05") - (data (i32.const 3768) "\02\00\00\00\14") - (data (i32.const 3788) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 3808) "\02") - (data (i32.const 3824) "\04\00\00\00\10") - (data (i32.const 3840) "\f0\0e\00\00\f0\0e") - (data (i32.const 3856) "\02\00\00\00\04") - (data (i32.const 3872) "\01") - (data (i32.const 3880) "\04\00\00\00\10") - (data (i32.const 3896) " \0f\00\00 \0f\00\00\04\00\00\00\01") - (data (i32.const 3912) "\02\00\00\00\08") - (data (i32.const 3928) "\02\00\00\00\01") - (data (i32.const 3936) "\04\00\00\00\10") - (data (i32.const 3952) "X\0f\00\00X\0f\00\00\08\00\00\00\02") - (data (i32.const 3968) "\02\00\00\00\10") - (data (i32.const 3984) "\03\00\00\00\02\00\00\00\01") - (data (i32.const 4000) "\04\00\00\00\10") - (data (i32.const 4016) "\90\0f\00\00\90\0f\00\00\10\00\00\00\04") - (data (i32.const 4032) "\02\00\00\00\10") - (data (i32.const 4052) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 4064) "\04\00\00\00\10") - (data (i32.const 4080) "\d0\0f\00\00\d0\0f\00\00\10\00\00\00\04") - (data (i32.const 4096) "\02\00\00\00\04") - (data (i32.const 4112) "\01") - (data (i32.const 4120) "\02\00\00\00\08") - (data (i32.const 4136) "\01\00\00\00\02") - (data (i32.const 4144) "\01\00\00\00\02") - (data (i32.const 4160) "a") - (data (i32.const 4168) "\01\00\00\00\02") - (data (i32.const 4184) "b") - (data (i32.const 4192) "\01\00\00\00\04") - (data (i32.const 4208) "a\00b") - (data (i32.const 4216) "\01\00\00\00\04") - (data (i32.const 4232) "b\00a") - (data (i32.const 4240) "\01") - (data (i32.const 4256) "\02\00\00\00\1c") - (data (i32.const 4272) "@\10\00\00X\10\00\00@\10\00\00p\10\00\00\88\10\00\00\a0\10") - (data (i32.const 4304) "\0e\00\00\00\10") - (data (i32.const 4320) "\b0\10\00\00\b0\10\00\00\1c\00\00\00\07") - (data (i32.const 4336) "\02\00\00\00\1c") - (data (i32.const 4352) "\a0\10\00\00@\10\00\00@\10\00\00p\10\00\00X\10\00\00\88\10") - (data (i32.const 4384) "\0e\00\00\00\10") - (data (i32.const 4401) "\11\00\00\00\11\00\00\1c\00\00\00\07") - (data (i32.const 4416) "\01\00\00\00\1c") - (data (i32.const 4432) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 64) "\01\00\00\00(") + (data (i32.const 80) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 120) "\01\00\00\00\06") + (data (i32.const 136) "a\00b\00c") + (data (i32.const 144) "\01\00\00\00\18") + (data (i32.const 160) "s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 184) "\02\00\00\00\05") + (data (i32.const 200) "\01\02\03\04\05") + (data (i32.const 208) "\07\00\00\00\10") + (data (i32.const 224) "\c8\00\00\00\c8\00\00\00\05\00\00\00\05") + (data (i32.const 240) "\02\00\00\00\05") + (data (i32.const 256) "\01\01\01\04\05") + (data (i32.const 264) "\01\00\00\00\1a") + (data (i32.const 280) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 312) "\02\00\00\00\05") + (data (i32.const 336) "\02\00\00\00\05") + (data (i32.const 352) "\01\01") + (data (i32.const 360) "\02\00\00\00\05") + (data (i32.const 376) "\01\01\00\02\02") + (data (i32.const 384) "\02\00\00\00\05") + (data (i32.const 400) "\01\01\00\02\02") + (data (i32.const 408) "\02\00\00\00\14") + (data (i32.const 424) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 448) "\08\00\00\00\10") + (data (i32.const 464) "\a8\01\00\00\a8\01\00\00\14\00\00\00\05") + (data (i32.const 480) "\02\00\00\00\14") + (data (i32.const 496) "\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data (i32.const 520) "\02\00\00\00\14") + (data (i32.const 560) "\02\00\00\00\14") + (data (i32.const 576) "\01\00\00\00\01") + (data (i32.const 600) "\02\00\00\00\14") + (data (i32.const 616) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 640) "\02\00\00\00\14") + (data (i32.const 656) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 680) "\02") + (data (i32.const 696) "\02") + (data (i32.const 712) "\04\00\00\00\10") + (data (i32.const 728) "\c8\02\00\00\c8\02") + (data (i32.const 744) "\02\00\00\00\14") + (data (i32.const 760) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 784) "\02\00\00\00\14") + (data (i32.const 800) "\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 824) "\02\00\00\00\14") + (data (i32.const 840) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 864) "\02\00\00\00\14") + (data (i32.const 880) "\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") + (data (i32.const 904) "\02\00\00\00\14") + (data (i32.const 920) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 944) "\02\00\00\00\14") + (data (i32.const 960) "\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 984) "\02\00\00\00\14") + (data (i32.const 1000) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1024) "\02\00\00\00\14") + (data (i32.const 1040) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1064) "\02\00\00\00\14") + (data (i32.const 1080) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1104) "\02\00\00\00\14") + (data (i32.const 1120) "\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1144) "\02\00\00\00\14") + (data (i32.const 1160) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1184) "\02\00\00\00\14") + (data (i32.const 1200) "\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1224) "\02\00\00\00\14") + (data (i32.const 1240) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1264) "\02\00\00\00\14") + (data (i32.const 1280) "\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 1304) "\02\00\00\00\14") + (data (i32.const 1320) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1344) "\02\00\00\00\14") + (data (i32.const 1360) "\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1384) "\02\00\00\00\14") + (data (i32.const 1400) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1424) "\02\00\00\00\14") + (data (i32.const 1440) "\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1464) "\02\00\00\00\14") + (data (i32.const 1480) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1504) "\02\00\00\00\14") + (data (i32.const 1520) "\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1544) "\02\00\00\00\14") + (data (i32.const 1560) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1584) "\02\00\00\00\14") + (data (i32.const 1600) "\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data (i32.const 1624) "\02\00\00\00\14") + (data (i32.const 1640) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1664) "\02\00\00\00\14") + (data (i32.const 1680) "\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data (i32.const 1704) "\02\00\00\00\14") + (data (i32.const 1720) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1744) "\04\00\00\00\10") + (data (i32.const 1760) "\b8\06\00\00\b8\06\00\00\14\00\00\00\05") + (data (i32.const 1776) "\02\00\00\00\14") + (data (i32.const 1792) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1816) "\02") + (data (i32.const 1832) "\02\00\00\00\14") + (data (i32.const 1848) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1872) "\02\00\00\00\0c") + (data (i32.const 1888) "\03\00\00\00\04\00\00\00\05") + (data (i32.const 1904) "\02\00\00\00\08") + (data (i32.const 1920) "\01\00\00\00\02") + (data (i32.const 1928) "\02\00\00\00\14") + (data (i32.const 1944) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1968) "\02\00\00\00\08") + (data (i32.const 1984) "\03\00\00\00\04") + (data (i32.const 1992) "\02\00\00\00\0c") + (data (i32.const 2008) "\01\00\00\00\02\00\00\00\05") + (data (i32.const 2024) "\02\00\00\00\14") + (data (i32.const 2040) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2064) "\02\00\00\00\04") + (data (i32.const 2080) "\01") + (data (i32.const 2088) "\02\00\00\00\10") + (data (i32.const 2104) "\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2120) "\02\00\00\00\14") + (data (i32.const 2136) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2160) "\02\00\00\00\04") + (data (i32.const 2176) "\05") + (data (i32.const 2184) "\02\00\00\00\10") + (data (i32.const 2200) "\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data (i32.const 2216) "\02\00\00\00\14") + (data (i32.const 2232) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2256) "\02\00\00\00\08") + (data (i32.const 2272) "\04\00\00\00\05") + (data (i32.const 2280) "\02\00\00\00\0c") + (data (i32.const 2296) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 2312) "\02\00\00\00\14") + (data (i32.const 2328) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2352) "\02\00\00\00\04") + (data (i32.const 2368) "\04") + (data (i32.const 2376) "\02\00\00\00\10") + (data (i32.const 2392) "\01\00\00\00\02\00\00\00\03\00\00\00\05") + (data (i32.const 2408) "\02\00\00\00\14") + (data (i32.const 2424) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2448) "\02\00\00\00\04") + (data (i32.const 2464) "\01") + (data (i32.const 2472) "\02\00\00\00\10") + (data (i32.const 2488) "\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2504) "\02\00\00\00\14") + (data (i32.const 2520) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2544) "\02") + (data (i32.const 2560) "\02\00\00\00\14") + (data (i32.const 2576) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2600) "\02\00\00\00\14") + (data (i32.const 2616) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2640) "\02") + (data (i32.const 2656) "\02\00\00\00\14") + (data (i32.const 2672) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2696) "\02\00\00\00\14") + (data (i32.const 2712) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2736) "\02") + (data (i32.const 2752) "\02\00\00\00\14") + (data (i32.const 2768) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2792) "\02\00\00\00\14") + (data (i32.const 2808) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2832) "\02") + (data (i32.const 2848) "\02\00\00\00\14") + (data (i32.const 2864) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2888) "\02\00\00\00\14") + (data (i32.const 2904) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2928) "\02") + (data (i32.const 2944) "\02\00\00\00\14") + (data (i32.const 2960) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2984) "\01\00\00\00\18") + (data (i32.const 3000) "~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") + (data (i32.const 3024) "\01\00\00\00\ac") + (data (i32.const 3040) "A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 3216) "\02\00\00\00 ") + (data (i32.const 3234) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 3264) "\t\00\00\00\10") + (data (i32.const 3280) "\a0\0c\00\00\a0\0c\00\00 \00\00\00\08") + (data (i32.const 3296) "\02\00\00\00 ") + (data (i32.const 3314) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 3344) "\02\00\00\00@") + (data (i32.const 3366) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 3406) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3424) "\n\00\00\00\10") + (data (i32.const 3440) " \0d\00\00 \0d\00\00@\00\00\00\08") + (data (i32.const 3456) "\02\00\00\00@") + (data (i32.const 3478) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 3510) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 3536) "\02\00\00\00\14") + (data (i32.const 3552) "\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3576) "\04\00\00\00\10") + (data (i32.const 3592) "\e0\0d\00\00\e0\0d\00\00\14\00\00\00\05") + (data (i32.const 3608) "\02\00\00\00\14") + (data (i32.const 3624) "\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 3648) "\02\00\00\00\14") + (data (i32.const 3664) "\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3688) "\08\00\00\00\10") + (data (i32.const 3704) "P\0e\00\00P\0e\00\00\14\00\00\00\05") + (data (i32.const 3720) "\02\00\00\00\14") + (data (i32.const 3740) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 3760) "\02") + (data (i32.const 3776) "\04\00\00\00\10") + (data (i32.const 3792) "\c0\0e\00\00\c0\0e") + (data (i32.const 3808) "\02\00\00\00\04") + (data (i32.const 3824) "\01") + (data (i32.const 3832) "\04\00\00\00\10") + (data (i32.const 3848) "\f0\0e\00\00\f0\0e\00\00\04\00\00\00\01") + (data (i32.const 3864) "\02\00\00\00\08") + (data (i32.const 3880) "\02\00\00\00\01") + (data (i32.const 3888) "\04\00\00\00\10") + (data (i32.const 3904) "(\0f\00\00(\0f\00\00\08\00\00\00\02") + (data (i32.const 3920) "\02\00\00\00\10") + (data (i32.const 3936) "\03\00\00\00\02\00\00\00\01") + (data (i32.const 3952) "\04\00\00\00\10") + (data (i32.const 3968) "`\0f\00\00`\0f\00\00\10\00\00\00\04") + (data (i32.const 3984) "\02\00\00\00\10") + (data (i32.const 4004) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 4016) "\04\00\00\00\10") + (data (i32.const 4032) "\a0\0f\00\00\a0\0f\00\00\10\00\00\00\04") + (data (i32.const 4048) "\02\00\00\00\04") + (data (i32.const 4064) "\01") + (data (i32.const 4072) "\02\00\00\00\08") + (data (i32.const 4088) "\01\00\00\00\02") + (data (i32.const 4096) "\01\00\00\00\02") + (data (i32.const 4112) "a") + (data (i32.const 4120) "\01\00\00\00\02") + (data (i32.const 4136) "b") + (data (i32.const 4144) "\01\00\00\00\04") + (data (i32.const 4160) "a\00b") + (data (i32.const 4168) "\01\00\00\00\04") + (data (i32.const 4184) "b\00a") + (data (i32.const 4192) "\01") + (data (i32.const 4208) "\02\00\00\00\1c") + (data (i32.const 4224) "\10\10\00\00(\10\00\00\10\10\00\00@\10\00\00X\10\00\00p\10") + (data (i32.const 4256) "\0e\00\00\00\10") + (data (i32.const 4272) "\80\10\00\00\80\10\00\00\1c\00\00\00\07") + (data (i32.const 4288) "\02\00\00\00\1c") + (data (i32.const 4304) "p\10\00\00\10\10\00\00\10\10\00\00@\10\00\00(\10\00\00X\10") + (data (i32.const 4336) "\0e\00\00\00\10") + (data (i32.const 4352) "\d0\10\00\00\d0\10\00\00\1c\00\00\00\07") + (data (i32.const 4368) "\01\00\00\00\1c") + (data (i32.const 4384) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 4416) "\01\00\00\00\08") + (data (i32.const 4432) "n\00u\00l\00l") + (data (i32.const 4440) "\02\00\00\00\02") + (data (i32.const 4456) "\01") (data (i32.const 4464) "\01\00\00\00\08") - (data (i32.const 4480) "n\00u\00l\00l") - (data (i32.const 4488) "\02\00\00\00\02") - (data (i32.const 4504) "\01") - (data (i32.const 4512) "\01\00\00\00\08") - (data (i32.const 4528) "t\00r\00u\00e") - (data (i32.const 4536) "\01\00\00\00\n") - (data (i32.const 4552) "f\00a\00l\00s\00e") - (data (i32.const 4568) "\01\00\00\00\02") - (data (i32.const 4584) ",") - (data (i32.const 4592) "\02\00\00\00\02") - (data (i32.const 4608) "\01") - (data (i32.const 4616) "\01\00\00\00\14") - (data (i32.const 4632) "t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 4656) "\02\00\00\00\0c") - (data (i32.const 4672) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4688) "\01\00\00\00\02") - (data (i32.const 4704) "0") - (data (i32.const 4712) "\02\00\00\00\90\01") - (data (i32.const 4728) "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 5128) "\08\00\00\00\10") - (data (i32.const 5144) "x\12\00\00x\12\00\00\90\01\00\00d") - (data (i32.const 5160) "\02\00\00\00\0c") - (data (i32.const 5176) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 5192) "\01\00\00\00\n") - (data (i32.const 5208) "1\00-\002\00-\003") - (data (i32.const 5224) "\02\00\00\00\0c") - (data (i32.const 5240) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 5256) "\01\00\00\00\02") - (data (i32.const 5272) "-") - (data (i32.const 5280) "\02\00\00\00\0c") - (data (i32.const 5296) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 4480) "t\00r\00u\00e") + (data (i32.const 4488) "\01\00\00\00\n") + (data (i32.const 4504) "f\00a\00l\00s\00e") + (data (i32.const 4520) "\01\00\00\00\02") + (data (i32.const 4536) ",") + (data (i32.const 4544) "\02\00\00\00\02") + (data (i32.const 4560) "\01") + (data (i32.const 4568) "\01\00\00\00\14") + (data (i32.const 4584) "t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 4608) "\02\00\00\00\0c") + (data (i32.const 4624) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4640) "\01\00\00\00\02") + (data (i32.const 4656) "0") + (data (i32.const 4664) "\02\00\00\00\90\01") + (data (i32.const 4680) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 5080) "\08\00\00\00\10") + (data (i32.const 5096) "H\12\00\00H\12\00\00\90\01\00\00d") + (data (i32.const 5112) "\02\00\00\00\0c") + (data (i32.const 5128) "\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 5144) "\01\00\00\00\n") + (data (i32.const 5160) "1\00-\002\00-\003") + (data (i32.const 5176) "\02\00\00\00\0c") + (data (i32.const 5192) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 5208) "\01\00\00\00\02") + (data (i32.const 5224) "-") + (data (i32.const 5232) "\02\00\00\00\0c") + (data (i32.const 5248) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 5264) "\02\00\00\00\08") + (data (i32.const 5283) "\80\00\00\00\80") + (data (i32.const 5288) "\01\00\00\00\04") + (data (i32.const 5304) "_\00_") (data (i32.const 5312) "\02\00\00\00\08") (data (i32.const 5331) "\80\00\00\00\80") - (data (i32.const 5336) "\01\00\00\00\04") - (data (i32.const 5352) "_\00_") - (data (i32.const 5360) "\02\00\00\00\08") - (data (i32.const 5379) "\80\00\00\00\80") - (data (i32.const 5384) "\01\00\00\000") - (data (i32.const 5400) "-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 5448) "\02\00\00\000") - (data (i32.const 5478) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 5512) "\01\00\00\00\04") - (data (i32.const 5528) ",\00 ") - (data (i32.const 5536) "\01\00\00\00\06") - (data (i32.const 5552) "0\00.\000") - (data (i32.const 5560) "\01\00\00\00\06") - (data (i32.const 5576) "N\00a\00N") - (data (i32.const 5584) "\01\00\00\00\12") - (data (i32.const 5600) "-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 5624) "\01\00\00\00\10") - (data (i32.const 5640) "I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 5656) "\02\00\00\00\b8\02") - (data (i32.const 5672) "\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~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $std/array/arr (mut i32) (i32.const 0)) (global $std/array/Null (mut i32) (i32.const 0)) - (global $std/array/arr8 (mut i32) (i32.const 216)) - (global $std/array/arr32 (mut i32) (i32.const 456)) + (global $std/array/arr8 (mut i32) (i32.const 224)) + (global $std/array/arr32 (mut i32) (i32.const 464)) (global $std/array/i (mut i32) (i32.const 0)) (global $std/array/other (mut i32) (i32.const 0)) (global $std/array/out (mut i32) (i32.const 0)) - (global $std/array/source (mut i32) (i32.const 776)) + (global $std/array/source (mut i32) (i32.const 728)) (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 1808)) + (global $std/array/sarr (mut i32) (i32.const 1760)) (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)) @@ -430,15 +428,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 3328)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 3488)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 3640)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 3752)) - (global $std/array/reversed0 (mut i32) (i32.const 3840)) - (global $std/array/reversed1 (mut i32) (i32.const 3896)) - (global $std/array/reversed2 (mut i32) (i32.const 3952)) - (global $std/array/reversed4 (mut i32) (i32.const 4016)) - (global $std/array/expected4 (mut i32) (i32.const 4080)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 3280)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3440)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3592)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3704)) + (global $std/array/reversed0 (mut i32) (i32.const 3792)) + (global $std/array/reversed1 (mut i32) (i32.const 3848)) + (global $std/array/reversed2 (mut i32) (i32.const 3904)) + (global $std/array/reversed4 (mut i32) (i32.const 3968)) + (global $std/array/expected4 (mut i32) (i32.const 4032)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -448,8 +446,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 4320)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 4400)) + (global $std/array/randomStringsActual (mut i32) (i32.const 4272)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 4352)) (global $std/array/randomStrings400 (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)) @@ -466,7 +464,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $std/array/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -529,7 +527,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -781,16 +779,16 @@ end end ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 8116 + i32.const 8068 i32.le_u if i32.const 0 i32.const 80 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -804,8 +802,8 @@ if i32.const 0 i32.const 80 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -828,14 +826,14 @@ unreachable end local.get $0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 i32.const 0 local.get $0 call $~lib/memory/memory.fill local.get $1 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 @@ -861,9 +859,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -892,9 +890,9 @@ (func $~lib/array/Array#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register i32.const 0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor @@ -1146,17 +1144,17 @@ (local $4 i32) (local $5 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $2 local.get $0 local.get $1 i32.shl local.tee $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $1 local.set $5 local.get $2 @@ -1190,7 +1188,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -1330,7 +1328,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -1428,7 +1426,7 @@ i32.shl i32.const 0 local.get $0 - i32.const 8116 + i32.const 8068 i32.gt_u select local.get $3 @@ -1467,12 +1465,12 @@ i32.eq if local.get $0 - i32.const 8116 + i32.const 8068 i32.le_u if i32.const 0 - i32.const 688 - i32.const 74 + i32.const 80 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable @@ -1513,7 +1511,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 14 i32.const 64 call $~lib/env/abort @@ -1580,7 +1578,7 @@ i32.lt_s if i32.const 0 - i32.const 272 + i32.const 280 i32.const 309 i32.const 20 call $~lib/env/abort @@ -1848,7 +1846,7 @@ i32.lt_s if i32.const 0 - i32.const 272 + i32.const 280 i32.const 381 i32.const 20 call $~lib/env/abort @@ -2513,7 +2511,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 561 i32.const 4 call $~lib/env/abort @@ -2592,7 +2590,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -2944,7 +2942,7 @@ i64.eqz if i32.const 0 - i32.const 3048 + i32.const 3000 i32.const 1021 i32.const 4 call $~lib/env/abort @@ -3349,7 +3347,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -3845,7 +3843,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -3943,7 +3941,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -4364,7 +4362,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -4447,7 +4445,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 44 i32.const 62 call $~lib/env/abort @@ -4505,7 +4503,7 @@ i32.eqz if i32.const 0 - i32.const 3048 + i32.const 3000 i32.const 1030 i32.const 24 call $~lib/env/abort @@ -4625,7 +4623,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -4670,7 +4668,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 111 i32.const 38 call $~lib/env/abort @@ -4756,7 +4754,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -4816,7 +4814,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 96 i32.const 45 call $~lib/env/abort @@ -4830,7 +4828,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -4895,7 +4893,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -4932,9 +4930,9 @@ i32.lt_s if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 13 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 i32.const 511 local.get $0 @@ -5092,7 +5090,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -5213,35 +5211,35 @@ (func $~lib/string/String#charAt (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 3076 + i32.const 3028 i32.load i32.const 1 i32.shr_u i32.ge_u if - i32.const 4256 + i32.const 4208 return end i32.const 2 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 local.get $0 i32.const 1 i32.shl - i32.const 3088 + i32.const 3040 i32.add i32.load16_u i32.store16 local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/string/String#concat (; 116 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) local.get $1 - i32.const 4480 + i32.const 4432 local.get $1 select local.tee $3 @@ -5266,11 +5264,11 @@ local.tee $2 i32.eqz if - i32.const 4256 + i32.const 4208 return end local.get $2 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $1 @@ -5283,11 +5281,11 @@ call $~lib/memory/memory.copy local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 117 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 4480 + i32.const 4432 local.get $0 select local.get $1 @@ -5296,7 +5294,7 @@ (func $std/array/createRandomString (; 118 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 4256 + i32.const 4208 local.set $1 loop $repeat|0 local.get $2 @@ -5305,7 +5303,7 @@ if local.get $1 call $~lib/math/NativeMath.random - i32.const 3076 + i32.const 3028 i32.load i32.const 1 i32.shr_u @@ -5360,8 +5358,8 @@ i32.eqz if i32.const 0 - i32.const 4432 - i32.const 197 + i32.const 4384 + i32.const 203 i32.const 4 call $~lib/env/abort unreachable @@ -5412,7 +5410,7 @@ local.tee $3 i32.eqz if - i32.const 4256 + i32.const 4208 return end local.get $2 @@ -5437,7 +5435,7 @@ return end local.get $3 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 local.get $0 local.get $2 @@ -5446,17 +5444,17 @@ call $~lib/memory/memory.copy local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) - (func $~lib/runtime/runtime.discard (; 121 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/discard (; 121 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 8116 + i32.const 8068 i32.le_u if i32.const 0 i32.const 80 - i32.const 68 - i32.const 6 + i32.const 114 + i32.const 4 call $~lib/env/abort unreachable end @@ -5469,8 +5467,8 @@ if i32.const 0 i32.const 80 - i32.const 70 - i32.const 6 + i32.const 116 + i32.const 4 call $~lib/env/abort unreachable end @@ -5492,7 +5490,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -5501,14 +5499,14 @@ local.get $1 i32.eqz if - i32.const 4528 - i32.const 4552 + i32.const 4480 + i32.const 4504 local.get $3 i32.load8_u select return end - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -5522,7 +5520,7 @@ local.tee $7 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 i32.const 0 local.set $0 @@ -5547,8 +5545,8 @@ i32.shl local.get $2 i32.add - i32.const 4528 - i32.const 4552 + i32.const 4480 + i32.const 4504 local.get $8 select local.get $6 @@ -5566,7 +5564,7 @@ i32.shl local.get $2 i32.add - i32.const 4584 + i32.const 4536 local.get $4 i32.const 1 i32.shl @@ -5599,8 +5597,8 @@ i32.shl local.get $2 i32.add - i32.const 4528 - i32.const 4552 + i32.const 4480 + i32.const 4504 local.get $3 select local.get $1 @@ -5619,13 +5617,13 @@ call $~lib/string/String#substring local.set $0 local.get $2 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount32 (; 123 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -5684,7 +5682,7 @@ (func $~lib/util/number/utoa32_lut (; 124 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 5148 + i32.const 5100 i32.load local.set $3 loop $continue|0 @@ -5798,7 +5796,7 @@ local.get $0 i32.eqz if - i32.const 4704 + i32.const 4656 return end local.get $0 @@ -5818,7 +5816,7 @@ local.tee $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $3 @@ -5831,7 +5829,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 126 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 @@ -5892,7 +5890,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -5922,7 +5920,7 @@ local.tee $7 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 i32.const 0 local.set $0 @@ -5987,13 +5985,13 @@ call $~lib/string/String#substring local.set $0 local.get $2 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 128 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -6006,7 +6004,7 @@ local.get $0 i32.eqz if - i32.const 4704 + i32.const 4656 return end local.get $0 @@ -6014,14 +6012,14 @@ local.tee $1 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $1 call $~lib/util/number/utoa32_lut local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 130 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 @@ -6062,7 +6060,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -6092,7 +6090,7 @@ local.tee $7 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 i32.const 0 local.set $0 @@ -6157,13 +6155,13 @@ call $~lib/string/String#substring local.set $0 local.get $2 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 132 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -6205,7 +6203,7 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 6700 + i32.const 6652 i32.load local.set $13 loop $continue|0 @@ -6960,7 +6958,7 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 6388 + i32.const 6340 i32.load local.get $3 i32.const 3 @@ -6968,7 +6966,7 @@ i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 6612 + i32.const 6564 i32.load local.get $3 i32.const 1 @@ -7139,7 +7137,7 @@ f64.const 0 f64.eq if - i32.const 5552 + i32.const 5504 return end local.get $0 @@ -7152,11 +7150,11 @@ local.get $0 f64.ne if - i32.const 5576 + i32.const 5528 return end - i32.const 5600 - i32.const 5640 + i32.const 5552 + i32.const 5592 local.get $0 f64.const 0 f64.lt @@ -7164,7 +7162,7 @@ return end i32.const 56 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 call $~lib/util/number/dtoa_core @@ -7174,7 +7172,7 @@ call $~lib/string/String#substring local.set $1 local.get $2 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $1 ) (func $~lib/util/number/dtoa_stream (; 137 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) @@ -7231,8 +7229,8 @@ i32.add local.set $1 local.get $0 - i32.const 5600 - i32.const 5640 + i32.const 5552 + i32.const 5592 local.get $3 select local.get $1 @@ -7263,7 +7261,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -7277,7 +7275,7 @@ call $~lib/util/number/dtoa return end - i32.const 5516 + i32.const 5468 i32.load i32.const 1 i32.shr_u @@ -7291,7 +7289,7 @@ local.tee $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 i32.const 0 local.set $0 @@ -7319,7 +7317,7 @@ i32.shl local.get $1 i32.add - i32.const 5528 + i32.const 5480 local.get $4 i32.const 1 i32.shl @@ -7356,13 +7354,13 @@ call $~lib/string/String#substring local.set $0 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String>#join_str (; 139 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -7379,7 +7377,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -7444,7 +7442,7 @@ i32.add i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 i32.const 0 local.set $3 @@ -7532,7 +7530,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String>#join (; 140 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -7541,9 +7539,9 @@ ) (func $std/array/Ref#constructor (; 141 ;) (type $FUNCSIG$i) (result i32) i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 19 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join_ref (; 142 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -7560,7 +7558,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -7569,10 +7567,10 @@ local.get $2 i32.eqz if - i32.const 6976 + i32.const 6928 return end - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -7586,7 +7584,7 @@ local.tee $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 i32.const 0 local.set $0 @@ -7607,7 +7605,7 @@ i32.shl local.get $1 i32.add - i32.const 6976 + i32.const 6928 i32.const 30 call $~lib/memory/memory.copy local.get $0 @@ -7622,7 +7620,7 @@ i32.shl local.get $1 i32.add - i32.const 4584 + i32.const 4536 local.get $3 i32.const 1 i32.shl @@ -7652,7 +7650,7 @@ i32.shl local.get $1 i32.add - i32.const 6976 + i32.const 6928 i32.const 30 call $~lib/memory/memory.copy local.get $0 @@ -7670,17 +7668,17 @@ call $~lib/string/String#substring local.set $0 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#toString (; 143 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join ) (func $~lib/util/number/itoa_stream (; 144 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -7753,7 +7751,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -7767,7 +7765,7 @@ call $~lib/util/number/itoa32 return end - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -7781,7 +7779,7 @@ local.tee $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 i32.const 0 local.set $0 @@ -7807,7 +7805,7 @@ i32.shl local.get $1 i32.add - i32.const 4584 + i32.const 4536 local.get $4 i32.const 1 i32.shl @@ -7842,13 +7840,13 @@ call $~lib/string/String#substring local.set $0 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 146 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 @@ -7895,7 +7893,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -7909,7 +7907,7 @@ call $~lib/util/number/utoa32 return end - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -7923,7 +7921,7 @@ local.tee $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 i32.const 0 local.set $0 @@ -7951,7 +7949,7 @@ i32.shl local.get $1 i32.add - i32.const 4584 + i32.const 4536 local.get $4 i32.const 1 i32.shl @@ -7988,13 +7986,13 @@ call $~lib/string/String#substring local.set $0 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount64 (; 148 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 @@ -8055,7 +8053,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 5148 + i32.const 5100 i32.load local.set $3 loop $continue|0 @@ -8154,7 +8152,7 @@ local.get $0 i64.eqz if - i32.const 4704 + i32.const 4656 return end local.get $0 @@ -8168,7 +8166,7 @@ local.tee $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $1 local.get $3 @@ -8179,7 +8177,7 @@ local.tee $1 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $1 @@ -8187,7 +8185,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 151 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) @@ -8244,7 +8242,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -8258,7 +8256,7 @@ call $~lib/util/number/utoa64 return end - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -8272,7 +8270,7 @@ local.tee $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 i32.const 0 local.set $0 @@ -8300,7 +8298,7 @@ i32.shl local.get $1 i32.add - i32.const 4584 + i32.const 4536 local.get $4 i32.const 1 i32.shl @@ -8337,13 +8335,13 @@ call $~lib/string/String#substring local.set $0 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa64 (; 153 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) @@ -8353,7 +8351,7 @@ local.get $0 i64.eqz if - i32.const 4704 + i32.const 4656 return end block (result i32) @@ -8381,7 +8379,7 @@ local.tee $4 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $3 local.get $2 local.get $4 @@ -8394,7 +8392,7 @@ local.tee $2 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $3 local.get $0 local.get $2 @@ -8408,7 +8406,7 @@ end local.get $3 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa_stream (; 154 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) @@ -8488,7 +8486,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -8502,7 +8500,7 @@ call $~lib/util/number/itoa64 return end - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -8516,7 +8514,7 @@ local.tee $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 i32.const 0 local.set $0 @@ -8544,7 +8542,7 @@ i32.shl local.get $1 i32.add - i32.const 4584 + i32.const 4536 local.get $4 i32.const 1 i32.shl @@ -8581,17 +8579,17 @@ call $~lib/string/String#substring local.set $0 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String | null>#toString (; 156 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array<~lib/string/String>#join ) (func $~lib/array/Array<~lib/array/Array>#join_arr (; 157 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -8608,12 +8606,12 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $1 - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -8629,10 +8627,10 @@ local.tee $0 if (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join else - i32.const 4256 + i32.const 4208 end return end @@ -8653,7 +8651,7 @@ if local.get $1 local.get $5 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join call $~lib/string/String.__concat local.set $1 @@ -8661,7 +8659,7 @@ local.get $4 if local.get $1 - i32.const 4584 + i32.const 4536 call $~lib/string/String.__concat local.set $1 end @@ -8682,7 +8680,7 @@ if (result i32) local.get $1 local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join call $~lib/string/String.__concat else @@ -8734,7 +8732,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -8748,7 +8746,7 @@ call $~lib/util/number/utoa32 return end - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -8762,7 +8760,7 @@ local.tee $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 i32.const 0 local.set $0 @@ -8788,7 +8786,7 @@ i32.shl local.get $1 i32.add - i32.const 4584 + i32.const 4536 local.get $4 i32.const 1 i32.shl @@ -8823,13 +8821,13 @@ call $~lib/string/String#substring local.set $0 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $0 return end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/array/Array>#join_arr (; 160 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -8845,12 +8843,12 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $1 - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -8868,7 +8866,7 @@ local.get $0 call $~lib/array/Array#join_int else - i32.const 4256 + i32.const 4208 end return end @@ -8896,7 +8894,7 @@ local.get $4 if local.get $1 - i32.const 4584 + i32.const 4536 call $~lib/string/String.__concat local.set $1 end @@ -8937,12 +8935,12 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $1 - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -8958,10 +8956,10 @@ local.tee $0 if (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join else - i32.const 4256 + i32.const 4208 end return end @@ -8982,7 +8980,7 @@ if local.get $1 local.get $5 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join call $~lib/string/String.__concat local.set $1 @@ -8990,7 +8988,7 @@ local.get $4 if local.get $1 - i32.const 4584 + i32.const 4536 call $~lib/string/String.__concat local.set $1 end @@ -9011,7 +9009,7 @@ if (result i32) local.get $1 local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join call $~lib/string/String.__concat else @@ -9032,12 +9030,12 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $1 - i32.const 4572 + i32.const 4524 i32.load i32.const 1 i32.shr_u @@ -9055,7 +9053,7 @@ local.get $0 call $~lib/array/Array<~lib/array/Array>#join_arr else - i32.const 4256 + i32.const 4208 end return end @@ -9083,7 +9081,7 @@ local.get $4 if local.get $1 - i32.const 4584 + i32.const 4536 call $~lib/string/String.__concat local.set $1 end @@ -9114,7 +9112,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 8120 + i32.const 8072 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -9123,7 +9121,7 @@ global.get $std/array/Null if i32.const 0 - i32.const 152 + i32.const 160 i32.const 39 i32.const 0 call $~lib/env/abort @@ -9136,21 +9134,21 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 40 i32.const 0 call $~lib/env/abort unreachable end i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register drop i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register i32.const 1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor @@ -9164,13 +9162,13 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 248 + i32.const 256 call $~lib/runtime/runtime.newArray call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 51 i32.const 0 call $~lib/env/abort @@ -9185,13 +9183,13 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 320 + i32.const 328 call $~lib/runtime/runtime.newArray call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 54 i32.const 0 call $~lib/env/abort @@ -9206,13 +9204,13 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 344 + i32.const 352 call $~lib/runtime/runtime.newArray call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 57 i32.const 0 call $~lib/env/abort @@ -9227,13 +9225,13 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 368 + i32.const 376 call $~lib/runtime/runtime.newArray call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 60 i32.const 0 call $~lib/env/abort @@ -9248,13 +9246,13 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 392 + i32.const 400 call $~lib/runtime/runtime.newArray call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 63 i32.const 0 call $~lib/env/abort @@ -9269,14 +9267,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 488 + i32.const 496 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 68 i32.const 0 call $~lib/env/abort @@ -9291,14 +9289,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 528 + i32.const 536 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 71 i32.const 0 call $~lib/env/abort @@ -9313,14 +9311,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 568 + i32.const 576 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 74 i32.const 0 call $~lib/env/abort @@ -9335,14 +9333,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 608 + i32.const 616 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 77 i32.const 0 call $~lib/env/abort @@ -9357,14 +9355,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 648 + i32.const 656 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 80 i32.const 0 call $~lib/env/abort @@ -9374,7 +9372,7 @@ i32.load offset=12 if i32.const 0 - i32.const 152 + i32.const 160 i32.const 84 i32.const 0 call $~lib/env/abort @@ -9389,7 +9387,7 @@ i32.shr_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 85 i32.const 0 call $~lib/env/abort @@ -9405,7 +9403,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 89 i32.const 0 call $~lib/env/abort @@ -9417,7 +9415,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 90 i32.const 0 call $~lib/env/abort @@ -9434,7 +9432,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 91 i32.const 0 call $~lib/env/abort @@ -9448,7 +9446,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 95 i32.const 0 call $~lib/env/abort @@ -9458,7 +9456,7 @@ i32.load offset=12 if i32.const 0 - i32.const 152 + i32.const 160 i32.const 96 i32.const 0 call $~lib/env/abort @@ -9475,7 +9473,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 97 i32.const 0 call $~lib/env/abort @@ -9490,7 +9488,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 101 i32.const 0 call $~lib/env/abort @@ -9507,7 +9505,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 102 i32.const 0 call $~lib/env/abort @@ -9520,7 +9518,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 103 i32.const 0 call $~lib/env/abort @@ -9535,7 +9533,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 107 i32.const 0 call $~lib/env/abort @@ -9552,7 +9550,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 108 i32.const 0 call $~lib/env/abort @@ -9565,7 +9563,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 109 i32.const 0 call $~lib/env/abort @@ -9578,7 +9576,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 110 i32.const 0 call $~lib/env/abort @@ -9593,7 +9591,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 114 i32.const 0 call $~lib/env/abort @@ -9610,7 +9608,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 115 i32.const 0 call $~lib/env/abort @@ -9623,7 +9621,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 116 i32.const 0 call $~lib/env/abort @@ -9636,7 +9634,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 117 i32.const 0 call $~lib/env/abort @@ -9649,7 +9647,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 118 i32.const 0 call $~lib/env/abort @@ -9672,7 +9670,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 125 i32.const 0 call $~lib/env/abort @@ -9684,7 +9682,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 126 i32.const 0 call $~lib/env/abort @@ -9696,7 +9694,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 127 i32.const 0 call $~lib/env/abort @@ -9706,7 +9704,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 744 + i32.const 696 call $~lib/runtime/runtime.newArray call $~lib/array/Array#concat drop @@ -9721,7 +9719,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 130 i32.const 0 call $~lib/env/abort @@ -9734,7 +9732,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 132 i32.const 0 call $~lib/env/abort @@ -9747,7 +9745,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 133 i32.const 0 call $~lib/env/abort @@ -9760,7 +9758,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 134 i32.const 0 call $~lib/env/abort @@ -9787,7 +9785,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 141 i32.const 0 call $~lib/env/abort @@ -9799,7 +9797,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 142 i32.const 0 call $~lib/env/abort @@ -9811,7 +9809,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 143 i32.const 0 call $~lib/env/abort @@ -9824,7 +9822,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 144 i32.const 0 call $~lib/env/abort @@ -9837,7 +9835,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 145 i32.const 0 call $~lib/env/abort @@ -9850,7 +9848,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 146 i32.const 0 call $~lib/env/abort @@ -9863,7 +9861,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 147 i32.const 0 call $~lib/env/abort @@ -9876,7 +9874,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 148 i32.const 0 call $~lib/env/abort @@ -9891,7 +9889,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 151 i32.const 0 call $~lib/env/abort @@ -9907,7 +9905,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 154 i32.const 0 call $~lib/env/abort @@ -9920,7 +9918,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 155 i32.const 0 call $~lib/env/abort @@ -9930,7 +9928,7 @@ i32.load offset=12 if i32.const 0 - i32.const 152 + i32.const 160 i32.const 158 i32.const 0 call $~lib/env/abort @@ -9946,7 +9944,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 160 i32.const 0 call $~lib/env/abort @@ -9956,7 +9954,7 @@ i32.load offset=12 if i32.const 0 - i32.const 152 + i32.const 160 i32.const 161 i32.const 0 call $~lib/env/abort @@ -9965,7 +9963,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 808 + i32.const 760 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -9976,14 +9974,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 848 + i32.const 800 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 167 i32.const 0 call $~lib/env/abort @@ -9992,7 +9990,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 888 + i32.const 840 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10003,14 +10001,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 928 + i32.const 880 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 169 i32.const 0 call $~lib/env/abort @@ -10019,7 +10017,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 968 + i32.const 920 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10030,14 +10028,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1008 + i32.const 960 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 171 i32.const 0 call $~lib/env/abort @@ -10046,7 +10044,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1048 + i32.const 1000 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10057,14 +10055,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1088 + i32.const 1040 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 173 i32.const 0 call $~lib/env/abort @@ -10073,7 +10071,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1128 + i32.const 1080 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10084,14 +10082,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1168 + i32.const 1120 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 175 i32.const 0 call $~lib/env/abort @@ -10100,7 +10098,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1208 + i32.const 1160 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10111,14 +10109,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1248 + i32.const 1200 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 177 i32.const 0 call $~lib/env/abort @@ -10127,7 +10125,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1288 + i32.const 1240 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10138,14 +10136,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1328 + i32.const 1280 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 179 i32.const 0 call $~lib/env/abort @@ -10154,7 +10152,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1368 + i32.const 1320 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10165,14 +10163,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1408 + i32.const 1360 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 181 i32.const 0 call $~lib/env/abort @@ -10181,7 +10179,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1448 + i32.const 1400 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10192,14 +10190,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1488 + i32.const 1440 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 183 i32.const 0 call $~lib/env/abort @@ -10208,7 +10206,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1528 + i32.const 1480 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10219,14 +10217,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1568 + i32.const 1520 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 185 i32.const 0 call $~lib/env/abort @@ -10235,7 +10233,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1608 + i32.const 1560 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10246,14 +10244,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1648 + i32.const 1600 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 187 i32.const 0 call $~lib/env/abort @@ -10262,7 +10260,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1688 + i32.const 1640 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -10273,14 +10271,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1728 + i32.const 1680 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 189 i32.const 0 call $~lib/env/abort @@ -10295,7 +10293,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 195 i32.const 0 call $~lib/env/abort @@ -10312,7 +10310,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 196 i32.const 0 call $~lib/env/abort @@ -10325,7 +10323,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 197 i32.const 0 call $~lib/env/abort @@ -10338,7 +10336,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 198 i32.const 0 call $~lib/env/abort @@ -10351,7 +10349,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 199 i32.const 0 call $~lib/env/abort @@ -10364,7 +10362,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 200 i32.const 0 call $~lib/env/abort @@ -10379,7 +10377,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 204 i32.const 0 call $~lib/env/abort @@ -10396,7 +10394,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 205 i32.const 0 call $~lib/env/abort @@ -10409,7 +10407,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 206 i32.const 0 call $~lib/env/abort @@ -10422,7 +10420,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 207 i32.const 0 call $~lib/env/abort @@ -10435,7 +10433,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 208 i32.const 0 call $~lib/env/abort @@ -10448,7 +10446,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 209 i32.const 0 call $~lib/env/abort @@ -10461,7 +10459,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 210 i32.const 0 call $~lib/env/abort @@ -10475,7 +10473,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 216 i32.const 0 call $~lib/env/abort @@ -10487,7 +10485,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 217 i32.const 0 call $~lib/env/abort @@ -10504,7 +10502,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 218 i32.const 0 call $~lib/env/abort @@ -10517,7 +10515,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 219 i32.const 0 call $~lib/env/abort @@ -10530,7 +10528,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 220 i32.const 0 call $~lib/env/abort @@ -10543,7 +10541,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 221 i32.const 0 call $~lib/env/abort @@ -10556,7 +10554,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 222 i32.const 0 call $~lib/env/abort @@ -10570,7 +10568,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 226 i32.const 0 call $~lib/env/abort @@ -10582,7 +10580,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 227 i32.const 0 call $~lib/env/abort @@ -10599,7 +10597,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 228 i32.const 0 call $~lib/env/abort @@ -10612,7 +10610,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 229 i32.const 0 call $~lib/env/abort @@ -10625,7 +10623,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 230 i32.const 0 call $~lib/env/abort @@ -10638,7 +10636,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 231 i32.const 0 call $~lib/env/abort @@ -10652,7 +10650,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 237 i32.const 0 call $~lib/env/abort @@ -10669,7 +10667,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 238 i32.const 0 call $~lib/env/abort @@ -10682,7 +10680,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 239 i32.const 0 call $~lib/env/abort @@ -10695,7 +10693,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 240 i32.const 0 call $~lib/env/abort @@ -10708,7 +10706,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 241 i32.const 0 call $~lib/env/abort @@ -10728,7 +10726,7 @@ global.get $std/array/i if i32.const 0 - i32.const 152 + i32.const 160 i32.const 250 i32.const 0 call $~lib/env/abort @@ -10744,7 +10742,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 254 i32.const 0 call $~lib/env/abort @@ -10760,7 +10758,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 258 i32.const 0 call $~lib/env/abort @@ -10776,7 +10774,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 262 i32.const 0 call $~lib/env/abort @@ -10792,7 +10790,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 266 i32.const 0 call $~lib/env/abort @@ -10808,7 +10806,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 270 i32.const 0 call $~lib/env/abort @@ -10824,7 +10822,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 274 i32.const 0 call $~lib/env/abort @@ -10840,7 +10838,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 278 i32.const 0 call $~lib/env/abort @@ -10856,7 +10854,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 282 i32.const 0 call $~lib/env/abort @@ -10872,7 +10870,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 286 i32.const 0 call $~lib/env/abort @@ -10888,7 +10886,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 292 i32.const 0 call $~lib/env/abort @@ -10904,7 +10902,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 296 i32.const 0 call $~lib/env/abort @@ -10918,7 +10916,7 @@ global.get $std/array/includes if i32.const 0 - i32.const 152 + i32.const 160 i32.const 300 i32.const 0 call $~lib/env/abort @@ -10932,7 +10930,7 @@ global.get $std/array/includes if i32.const 0 - i32.const 152 + i32.const 160 i32.const 304 i32.const 0 call $~lib/env/abort @@ -10948,7 +10946,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 308 i32.const 0 call $~lib/env/abort @@ -10964,7 +10962,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 312 i32.const 0 call $~lib/env/abort @@ -10980,7 +10978,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 316 i32.const 0 call $~lib/env/abort @@ -10996,7 +10994,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 320 i32.const 0 call $~lib/env/abort @@ -11012,7 +11010,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 324 i32.const 0 call $~lib/env/abort @@ -11028,7 +11026,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 328 i32.const 0 call $~lib/env/abort @@ -11045,7 +11043,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 332 i32.const 0 call $~lib/env/abort @@ -11062,7 +11060,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 333 i32.const 0 call $~lib/env/abort @@ -11075,7 +11073,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 334 i32.const 0 call $~lib/env/abort @@ -11088,7 +11086,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 335 i32.const 0 call $~lib/env/abort @@ -11101,14 +11099,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1840 + i32.const 1792 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 340 i32.const 0 call $~lib/env/abort @@ -11118,14 +11116,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 1880 + i32.const 1832 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 341 i32.const 0 call $~lib/env/abort @@ -11134,7 +11132,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1896 + i32.const 1848 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11144,14 +11142,14 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 1936 + i32.const 1888 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 344 i32.const 0 call $~lib/env/abort @@ -11161,14 +11159,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 1968 + i32.const 1920 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 345 i32.const 0 call $~lib/env/abort @@ -11177,7 +11175,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1992 + i32.const 1944 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11187,14 +11185,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 2032 + i32.const 1984 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 348 i32.const 0 call $~lib/env/abort @@ -11204,14 +11202,14 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 2056 + i32.const 2008 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 349 i32.const 0 call $~lib/env/abort @@ -11220,7 +11218,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2088 + i32.const 2040 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11230,14 +11228,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2128 + i32.const 2080 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 352 i32.const 0 call $~lib/env/abort @@ -11247,14 +11245,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2152 + i32.const 2104 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 353 i32.const 0 call $~lib/env/abort @@ -11263,7 +11261,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2184 + i32.const 2136 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11273,14 +11271,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2224 + i32.const 2176 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 356 i32.const 0 call $~lib/env/abort @@ -11290,14 +11288,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2248 + i32.const 2200 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 357 i32.const 0 call $~lib/env/abort @@ -11306,7 +11304,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2280 + i32.const 2232 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11316,14 +11314,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 2320 + i32.const 2272 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 360 i32.const 0 call $~lib/env/abort @@ -11333,14 +11331,14 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 2344 + i32.const 2296 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 361 i32.const 0 call $~lib/env/abort @@ -11349,7 +11347,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2376 + i32.const 2328 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11359,14 +11357,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2416 + i32.const 2368 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 364 i32.const 0 call $~lib/env/abort @@ -11376,14 +11374,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2440 + i32.const 2392 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 365 i32.const 0 call $~lib/env/abort @@ -11392,7 +11390,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2472 + i32.const 2424 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11402,14 +11400,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2512 + i32.const 2464 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 368 i32.const 0 call $~lib/env/abort @@ -11419,14 +11417,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2536 + i32.const 2488 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 369 i32.const 0 call $~lib/env/abort @@ -11435,7 +11433,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2568 + i32.const 2520 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11445,14 +11443,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2608 + i32.const 2560 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 372 i32.const 0 call $~lib/env/abort @@ -11462,14 +11460,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2624 + i32.const 2576 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 373 i32.const 0 call $~lib/env/abort @@ -11478,7 +11476,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2664 + i32.const 2616 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11488,14 +11486,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2704 + i32.const 2656 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 376 i32.const 0 call $~lib/env/abort @@ -11505,14 +11503,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2720 + i32.const 2672 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 377 i32.const 0 call $~lib/env/abort @@ -11521,7 +11519,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2760 + i32.const 2712 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11531,14 +11529,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2800 + i32.const 2752 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 380 i32.const 0 call $~lib/env/abort @@ -11548,14 +11546,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2816 + i32.const 2768 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 381 i32.const 0 call $~lib/env/abort @@ -11564,7 +11562,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2856 + i32.const 2808 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11574,14 +11572,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2896 + i32.const 2848 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 384 i32.const 0 call $~lib/env/abort @@ -11591,14 +11589,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2912 + i32.const 2864 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 385 i32.const 0 call $~lib/env/abort @@ -11607,7 +11605,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2952 + i32.const 2904 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -11617,14 +11615,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2992 + i32.const 2944 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 388 i32.const 0 call $~lib/env/abort @@ -11634,14 +11632,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 3008 + i32.const 2960 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 389 i32.const 0 call $~lib/env/abort @@ -11670,7 +11668,7 @@ global.get $std/array/i if i32.const 0 - i32.const 152 + i32.const 160 i32.const 399 i32.const 0 call $~lib/env/abort @@ -11685,7 +11683,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 402 i32.const 0 call $~lib/env/abort @@ -11700,7 +11698,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 405 i32.const 0 call $~lib/env/abort @@ -11715,7 +11713,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 413 i32.const 0 call $~lib/env/abort @@ -11727,7 +11725,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 414 i32.const 0 call $~lib/env/abort @@ -11742,7 +11740,7 @@ i32.eq if i32.const 0 - i32.const 152 + i32.const 160 i32.const 416 i32.const 0 call $~lib/env/abort @@ -11769,7 +11767,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 429 i32.const 0 call $~lib/env/abort @@ -11781,7 +11779,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 430 i32.const 0 call $~lib/env/abort @@ -11802,7 +11800,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 438 i32.const 0 call $~lib/env/abort @@ -11815,7 +11813,7 @@ global.get $std/array/every if i32.const 0 - i32.const 152 + i32.const 160 i32.const 441 i32.const 0 call $~lib/env/abort @@ -11830,7 +11828,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 449 i32.const 0 call $~lib/env/abort @@ -11842,7 +11840,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 450 i32.const 0 call $~lib/env/abort @@ -11855,7 +11853,7 @@ global.get $std/array/every if i32.const 0 - i32.const 152 + i32.const 160 i32.const 452 i32.const 0 call $~lib/env/abort @@ -11882,7 +11880,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 465 i32.const 0 call $~lib/env/abort @@ -11894,7 +11892,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 466 i32.const 0 call $~lib/env/abort @@ -11915,7 +11913,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 474 i32.const 0 call $~lib/env/abort @@ -11928,7 +11926,7 @@ global.get $std/array/some if i32.const 0 - i32.const 152 + i32.const 160 i32.const 477 i32.const 0 call $~lib/env/abort @@ -11941,7 +11939,7 @@ global.get $std/array/some if i32.const 0 - i32.const 152 + i32.const 160 i32.const 485 i32.const 0 call $~lib/env/abort @@ -11953,7 +11951,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 486 i32.const 0 call $~lib/env/abort @@ -11968,7 +11966,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 488 i32.const 0 call $~lib/env/abort @@ -11993,7 +11991,7 @@ global.get $std/array/some if i32.const 0 - i32.const 152 + i32.const 160 i32.const 501 i32.const 0 call $~lib/env/abort @@ -12005,7 +12003,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 502 i32.const 0 call $~lib/env/abort @@ -12027,7 +12025,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 511 i32.const 0 call $~lib/env/abort @@ -12043,7 +12041,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 520 i32.const 0 call $~lib/env/abort @@ -12055,7 +12053,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 521 i32.const 0 call $~lib/env/abort @@ -12071,7 +12069,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 524 i32.const 0 call $~lib/env/abort @@ -12099,7 +12097,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 538 i32.const 0 call $~lib/env/abort @@ -12111,7 +12109,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 539 i32.const 0 call $~lib/env/abort @@ -12132,7 +12130,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 564 i32.const 0 call $~lib/env/abort @@ -12174,7 +12172,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 575 i32.const 0 call $~lib/env/abort @@ -12190,7 +12188,7 @@ f32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 576 i32.const 0 call $~lib/env/abort @@ -12206,7 +12204,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 585 i32.const 0 call $~lib/env/abort @@ -12218,7 +12216,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 586 i32.const 0 call $~lib/env/abort @@ -12234,7 +12232,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 593 i32.const 0 call $~lib/env/abort @@ -12262,7 +12260,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 608 i32.const 0 call $~lib/env/abort @@ -12274,7 +12272,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 609 i32.const 0 call $~lib/env/abort @@ -12296,7 +12294,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 617 i32.const 0 call $~lib/env/abort @@ -12313,7 +12311,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 626 i32.const 0 call $~lib/env/abort @@ -12325,7 +12323,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 627 i32.const 0 call $~lib/env/abort @@ -12342,7 +12340,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 634 i32.const 0 call $~lib/env/abort @@ -12371,7 +12369,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 649 i32.const 0 call $~lib/env/abort @@ -12383,7 +12381,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 650 i32.const 0 call $~lib/env/abort @@ -12405,7 +12403,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 658 i32.const 0 call $~lib/env/abort @@ -12421,7 +12419,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 662 i32.const 0 call $~lib/env/abort @@ -12439,7 +12437,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 665 i32.const 0 call $~lib/env/abort @@ -12455,7 +12453,7 @@ global.get $std/array/boolVal if i32.const 0 - i32.const 152 + i32.const 160 i32.const 668 i32.const 0 call $~lib/env/abort @@ -12471,7 +12469,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 676 i32.const 0 call $~lib/env/abort @@ -12483,7 +12481,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 677 i32.const 0 call $~lib/env/abort @@ -12499,7 +12497,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 679 i32.const 0 call $~lib/env/abort @@ -12527,7 +12525,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 692 i32.const 0 call $~lib/env/abort @@ -12539,7 +12537,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 693 i32.const 0 call $~lib/env/abort @@ -12561,7 +12559,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 701 i32.const 0 call $~lib/env/abort @@ -12577,7 +12575,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 705 i32.const 0 call $~lib/env/abort @@ -12595,7 +12593,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 708 i32.const 0 call $~lib/env/abort @@ -12611,7 +12609,7 @@ global.get $std/array/boolVal if i32.const 0 - i32.const 152 + i32.const 160 i32.const 711 i32.const 0 call $~lib/env/abort @@ -12627,7 +12625,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 719 i32.const 0 call $~lib/env/abort @@ -12639,7 +12637,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 720 i32.const 0 call $~lib/env/abort @@ -12655,7 +12653,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 722 i32.const 0 call $~lib/env/abort @@ -12683,7 +12681,7 @@ i32.ne if i32.const 0 - i32.const 152 + i32.const 160 i32.const 735 i32.const 0 call $~lib/env/abort @@ -12693,7 +12691,7 @@ i32.load offset=12 if i32.const 0 - i32.const 152 + i32.const 160 i32.const 736 i32.const 0 call $~lib/env/abort @@ -12738,13 +12736,13 @@ i32.const 8 i32.const 2 i32.const 9 - i32.const 3360 + i32.const 3312 call $~lib/runtime/runtime.newArray call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 824 i32.const 0 call $~lib/env/abort @@ -12774,13 +12772,13 @@ i32.const 8 i32.const 3 i32.const 10 - i32.const 3520 + i32.const 3472 call $~lib/runtime/runtime.newArray call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 828 i32.const 0 call $~lib/env/abort @@ -12811,14 +12809,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 3672 + i32.const 3624 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 832 i32.const 0 call $~lib/env/abort @@ -12849,14 +12847,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 3784 + i32.const 3736 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 836 i32.const 0 call $~lib/env/abort @@ -12885,14 +12883,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 4112 + i32.const 4064 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 856 i32.const 0 call $~lib/env/abort @@ -12904,14 +12902,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 4136 + i32.const 4088 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 859 i32.const 0 call $~lib/env/abort @@ -12926,7 +12924,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 862 i32.const 0 call $~lib/env/abort @@ -12941,7 +12939,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 865 i32.const 0 call $~lib/env/abort @@ -12956,7 +12954,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 868 i32.const 0 call $~lib/env/abort @@ -12971,7 +12969,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 871 i32.const 0 call $~lib/env/abort @@ -12986,7 +12984,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 874 i32.const 0 call $~lib/env/abort @@ -13032,7 +13030,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 904 i32.const 0 call $~lib/env/abort @@ -13065,15 +13063,15 @@ i32.const 2 i32.const 0 i32.const 16 - i32.const 4608 + i32.const 4560 call $~lib/runtime/runtime.newArray call $~lib/array/Array#join_bool - i32.const 4632 + i32.const 4584 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 913 i32.const 0 call $~lib/env/abort @@ -13082,16 +13080,16 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 5176 + i32.const 5128 call $~lib/runtime/runtime.newArray - i32.const 4256 + i32.const 4208 call $~lib/array/Array#join - i32.const 5208 + i32.const 5160 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 914 i32.const 0 call $~lib/env/abort @@ -13100,16 +13098,16 @@ i32.const 3 i32.const 2 i32.const 8 - i32.const 5296 + i32.const 5248 call $~lib/runtime/runtime.newArray - i32.const 5272 + i32.const 5224 call $~lib/array/Array#join - i32.const 5208 + i32.const 5160 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 915 i32.const 0 call $~lib/env/abort @@ -13118,16 +13116,16 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 5376 + i32.const 5328 call $~lib/runtime/runtime.newArray - i32.const 5352 + i32.const 5304 call $~lib/array/Array#join - i32.const 5400 + i32.const 5352 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 916 i32.const 0 call $~lib/env/abort @@ -13136,15 +13134,15 @@ i32.const 6 i32.const 3 i32.const 10 - i32.const 6728 + i32.const 6680 call $~lib/runtime/runtime.newArray call $~lib/array/Array#join_flt - i32.const 6792 + i32.const 6744 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 917 i32.const 0 call $~lib/env/abort @@ -13153,16 +13151,16 @@ i32.const 3 i32.const 2 i32.const 15 - i32.const 6944 + i32.const 6896 call $~lib/runtime/runtime.newArray - i32.const 4256 + i32.const 4208 call $~lib/array/Array<~lib/string/String>#join - i32.const 6888 + i32.const 6840 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 918 i32.const 0 call $~lib/env/abort @@ -13188,12 +13186,12 @@ global.set $std/array/refArr global.get $std/array/refArr call $~lib/array/Array#join_ref - i32.const 7024 + i32.const 6976 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 920 i32.const 0 call $~lib/env/abort @@ -13201,12 +13199,12 @@ end global.get $std/array/reversed0 call $~lib/array/Array#toString - i32.const 4256 + i32.const 4208 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 924 i32.const 0 call $~lib/env/abort @@ -13214,12 +13212,12 @@ end global.get $std/array/reversed1 call $~lib/array/Array#toString - i32.const 6888 + i32.const 6840 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 925 i32.const 0 call $~lib/env/abort @@ -13227,12 +13225,12 @@ end global.get $std/array/reversed2 call $~lib/array/Array#toString - i32.const 7104 + i32.const 7056 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 926 i32.const 0 call $~lib/env/abort @@ -13240,12 +13238,12 @@ end global.get $std/array/reversed4 call $~lib/array/Array#toString - i32.const 7128 + i32.const 7080 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 927 i32.const 0 call $~lib/env/abort @@ -13254,15 +13252,15 @@ i32.const 3 i32.const 0 i32.const 21 - i32.const 7184 + i32.const 7136 call $~lib/runtime/runtime.newArray call $~lib/array/Array#join_int - i32.const 7208 + i32.const 7160 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 929 i32.const 0 call $~lib/env/abort @@ -13271,15 +13269,15 @@ i32.const 3 i32.const 1 i32.const 22 - i32.const 7264 + i32.const 7216 call $~lib/runtime/runtime.newArray call $~lib/array/Array#join_int - i32.const 7288 + i32.const 7240 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 930 i32.const 0 call $~lib/env/abort @@ -13288,15 +13286,15 @@ i32.const 3 i32.const 3 i32.const 17 - i32.const 7368 + i32.const 7320 call $~lib/runtime/runtime.newArray call $~lib/array/Array#join_int - i32.const 7408 + i32.const 7360 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 931 i32.const 0 call $~lib/env/abort @@ -13305,15 +13303,15 @@ i32.const 4 i32.const 3 i32.const 23 - i32.const 7520 + i32.const 7472 call $~lib/runtime/runtime.newArray call $~lib/array/Array#join_int - i32.const 7568 + i32.const 7520 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 932 i32.const 0 call $~lib/env/abort @@ -13321,12 +13319,12 @@ end global.get $std/array/randomStringsExpected call $~lib/array/Array<~lib/string/String | null>#toString - i32.const 7672 + i32.const 7624 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 933 i32.const 0 call $~lib/env/abort @@ -13335,15 +13333,15 @@ i32.const 4 i32.const 2 i32.const 15 - i32.const 7800 + i32.const 7752 call $~lib/runtime/runtime.newArray call $~lib/array/Array<~lib/string/String | null>#toString - i32.const 7832 + i32.const 7784 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 934 i32.const 0 call $~lib/env/abort @@ -13360,26 +13358,26 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 7888 + i32.const 7840 call $~lib/runtime/runtime.newArray i32.store local.get $1 i32.const 2 i32.const 2 i32.const 4 - i32.const 7912 + i32.const 7864 call $~lib/runtime/runtime.newArray i32.store offset=4 local.get $0 global.set $std/array/subarr32 global.get $std/array/subarr32 call $~lib/array/Array<~lib/array/Array>#join_arr - i32.const 7936 + i32.const 7888 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 937 i32.const 0 call $~lib/env/abort @@ -13396,26 +13394,26 @@ i32.const 2 i32.const 0 i32.const 7 - i32.const 7992 + i32.const 7944 call $~lib/runtime/runtime.newArray i32.store local.get $1 i32.const 2 i32.const 0 i32.const 7 - i32.const 8016 + i32.const 7968 call $~lib/runtime/runtime.newArray i32.store offset=4 local.get $0 global.set $std/array/subarr8 global.get $std/array/subarr8 call $~lib/array/Array<~lib/array/Array>#join_arr - i32.const 7936 + i32.const 7888 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 940 i32.const 0 call $~lib/env/abort @@ -13439,7 +13437,7 @@ i32.const 1 i32.const 2 i32.const 8 - i32.const 8112 + i32.const 8064 call $~lib/runtime/runtime.newArray i32.store local.get $1 @@ -13449,12 +13447,12 @@ global.set $std/array/subarrU32 global.get $std/array/subarrU32 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join_arr - i32.const 6888 + i32.const 6840 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 943 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 2f923bf8..b277b396 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -30,198 +30,197 @@ (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) (memory $0 1) (data (i32.const 8) "\01\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 64) "\01\00\00\00\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 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 232) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\01\04\05") - (data (i32.const 256) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 304) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 328) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\00\00") - (data (i32.const 352) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 376) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 400) "\02\00\00\00\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 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") - (data (i32.const 592) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 632) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 672) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 728) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 744) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 760) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\02\00\00\f8\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 792) "\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 832) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 872) "\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 912) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 952) "\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 992) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 1032) "\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 1072) "\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 1112) "\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 1152) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1192) "\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 1232) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1272) "\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 1312) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1352) "\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 1392) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1432) "\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 1472) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1512) "\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 1552) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1592) "\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 1632) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1672) "\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 1712) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") - (data (i32.const 1752) "\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 1792) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e8\06\00\00\e8\06\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 1824) "\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 1864) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1880) "\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 1920) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1952) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 1976) "\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 2016) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 2040) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") - (data (i32.const 2072) "\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 2112) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 2136) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2168) "\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 2208) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00") - (data (i32.const 2232) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 2264) "\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 2304) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2328) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 2360) "\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 2400) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00") - (data (i32.const 2424) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00") - (data (i32.const 2456) "\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 2496) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 2520) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 2552) "\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 2592) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2608) "\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 2648) "\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 2688) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2704) "\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 2744) "\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 2784) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2800) "\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 2840) "\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 2880) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2896) "\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 2936) "\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 2976) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2992) "\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 3032) "\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 3072) "\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 3264) "\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 3312) "\t\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\d0\0c\00\00\d0\0c\00\00 \00\00\00\08\00\00\00") - (data (i32.const 3344) "\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 3392) "\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 3472) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00P\0d\00\00P\0d\00\00@\00\00\00\08\00\00\00") - (data (i32.const 3504) "\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 3584) "\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 3624) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\10\0e\00\00\10\0e\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 3656) "\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 3696) "\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 3736) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\80\0e\00\00\80\0e\00\00\14\00\00\00\05\00\00\00") - (data (i32.const 3768) "\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 3808) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3824) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f0\0e\00\00\f0\0e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3856) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 3880) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00 \0f\00\00 \0f\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 3912) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 3936) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00X\0f\00\00X\0f\00\00\08\00\00\00\02\00\00\00") - (data (i32.const 3968) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 4000) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\0f\00\00\90\0f\00\00\10\00\00\00\04\00\00\00") - (data (i32.const 4032) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 4064) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\d0\0f\00\00\d0\0f\00\00\10\00\00\00\04\00\00\00") - (data (i32.const 4096) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") - (data (i32.const 4120) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 4144) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00a\00") - (data (i32.const 4168) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00b\00") - (data (i32.const 4192) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00b\00") - (data (i32.const 4216) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") - (data (i32.const 4240) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4256) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00@\10\00\00X\10\00\00@\10\00\00p\10\00\00\88\10\00\00\a0\10\00\00\00\00\00\00") - (data (i32.const 4304) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b0\10\00\00\b0\10\00\00\1c\00\00\00\07\00\00\00") - (data (i32.const 4336) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\a0\10\00\00@\10\00\00@\10\00\00p\10\00\00X\10\00\00\88\10\00\00\00\00\00\00") - (data (i32.const 4384) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\11\00\00\1c\00\00\00\07\00\00\00") - (data (i32.const 4416) "\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 4464) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") - (data (i32.const 4488) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") - (data (i32.const 4512) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00") - (data (i32.const 4536) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 4568) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00,\00") - (data (i32.const 4592) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") - (data (i32.const 4616) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 4656) "\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 4688) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") - (data (i32.const 4712) "\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 5128) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00x\12\00\00x\12\00\00\90\01\00\00d\00\00\00") - (data (i32.const 5160) "\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 5192) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\00-\002\00-\003\00") - (data (i32.const 5224) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 5256) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00-\00") - (data (i32.const 5280) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 64) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 120) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00") + (data (i32.const 144) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 184) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\02\03\04\05") + (data (i32.const 208) "\07\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\00\00\00\c8\00\00\00\05\00\00\00\05\00\00\00") + (data (i32.const 240) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\01\04\05") + (data (i32.const 264) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 312) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 336) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\00\00") + (data (i32.const 360) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") + (data (i32.const 384) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") + (data (i32.const 408) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 448) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a8\01\00\00\a8\01\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 480) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 520) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 560) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 600) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 640) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 680) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 696) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 712) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\02\00\00\c8\02\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 744) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 784) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 824) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 864) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 904) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 944) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") + (data (i32.const 984) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1024) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1064) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1104) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1144) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1184) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1224) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1264) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1304) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1344) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1384) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1424) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1464) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1504) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1544) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1584) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1624) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1664) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00") + (data (i32.const 1704) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1744) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\06\00\00\b8\06\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 1776) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1816) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1832) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1872) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1904) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 1928) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 1968) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") + (data (i32.const 1992) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") + (data (i32.const 2024) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2064) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 2088) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2120) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2160) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00") + (data (i32.const 2184) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00") + (data (i32.const 2216) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2256) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2280) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 2312) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2352) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00") + (data (i32.const 2376) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00") + (data (i32.const 2408) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2448) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 2472) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2504) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2544) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2560) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2600) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2640) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2656) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2696) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2736) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2752) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2792) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2832) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2848) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2888) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2928) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2944) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2984) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") + (data (i32.const 3024) "\01\00\00\00\ac\00\00\00\00\00\00\00\00\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 3216) "\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 3264) "\t\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\0c\00\00\a0\0c\00\00 \00\00\00\08\00\00\00") + (data (i32.const 3296) "\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 3344) "\02\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3424) "\n\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00 \0d\00\00 \0d\00\00@\00\00\00\08\00\00\00") + (data (i32.const 3456) "\02\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 3536) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00") + (data (i32.const 3576) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e0\0d\00\00\e0\0d\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 3608) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 3648) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00") + (data (i32.const 3688) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00P\0e\00\00P\0e\00\00\14\00\00\00\05\00\00\00") + (data (i32.const 3720) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 3760) "\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3776) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c0\0e\00\00\c0\0e\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3808) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 3832) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f0\0e\00\00\f0\0e\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 3864) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 3888) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00(\0f\00\00(\0f\00\00\08\00\00\00\02\00\00\00") + (data (i32.const 3920) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3952) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00`\0f\00\00`\0f\00\00\10\00\00\00\04\00\00\00") + (data (i32.const 3984) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 4016) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\0f\00\00\a0\0f\00\00\10\00\00\00\04\00\00\00") + (data (i32.const 4048) "\02\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00") + (data (i32.const 4072) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 4096) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00a\00") + (data (i32.const 4120) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00b\00") + (data (i32.const 4144) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00b\00") + (data (i32.const 4168) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") + (data (i32.const 4192) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4208) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\10\10\00\00(\10\00\00\10\10\00\00@\10\00\00X\10\00\00p\10\00\00\00\00\00\00") + (data (i32.const 4256) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\80\10\00\00\80\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4288) "\02\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00p\10\00\00\10\10\00\00\10\10\00\00@\10\00\00(\10\00\00X\10\00\00\00\00\00\00") + (data (i32.const 4336) "\0e\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\d0\10\00\00\d0\10\00\00\1c\00\00\00\07\00\00\00") + (data (i32.const 4368) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 4416) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") + (data (i32.const 4440) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") + (data (i32.const 4464) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00") + (data (i32.const 4488) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 4520) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00,\00") + (data (i32.const 4544) "\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\01\00") + (data (i32.const 4568) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 4608) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4640) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") + (data (i32.const 4664) "\02\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 5080) "\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\12\00\00H\12\00\00\90\01\00\00d\00\00\00") + (data (i32.const 5112) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 5144) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\00-\002\00-\003\00") + (data (i32.const 5176) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5208) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00-\00") + (data (i32.const 5232) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5264) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 5288) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00_\00_\00") (data (i32.const 5312) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 5336) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00_\00_\00") - (data (i32.const 5360) "\02\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 5384) "\01\00\00\000\00\00\00\00\00\00\00\00\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 5448) "\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 5512) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00,\00 \00") - (data (i32.const 5536) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\000\00") - (data (i32.const 5560) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") - (data (i32.const 5584) "\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 5624) "\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 5656) "\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\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $start:std/array~anonymous|43 $start:std/array~anonymous|44 $start:std/array~anonymous|45 $start:std/array~anonymous|46 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -233,17 +232,17 @@ (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)) - (global $std/array/str (mut i32) (i32.const 128)) - (global $std/array/arr8 (mut i32) (i32.const 216)) + (global $std/array/str (mut i32) (i32.const 136)) + (global $std/array/arr8 (mut i32) (i32.const 224)) (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) - (global $std/array/arr32 (mut i32) (i32.const 456)) + (global $std/array/arr32 (mut i32) (i32.const 464)) (global $std/array/i (mut i32) (i32.const 0)) (global $std/array/other (mut i32) (i32.const 0)) (global $std/array/out (mut i32) (i32.const 0)) - (global $std/array/source (mut i32) (i32.const 776)) + (global $std/array/source (mut i32) (i32.const 728)) (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 1808)) + (global $std/array/sarr (mut i32) (i32.const 1760)) (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)) @@ -255,16 +254,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 3088)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 3328)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 3488)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 3640)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 3752)) - (global $std/array/reversed0 (mut i32) (i32.const 3840)) - (global $std/array/reversed1 (mut i32) (i32.const 3896)) - (global $std/array/reversed2 (mut i32) (i32.const 3952)) - (global $std/array/reversed4 (mut i32) (i32.const 4016)) - (global $std/array/expected4 (mut i32) (i32.const 4080)) + (global $std/array/charset i32 (i32.const 3040)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 3280)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3440)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3592)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3704)) + (global $std/array/reversed0 (mut i32) (i32.const 3792)) + (global $std/array/reversed1 (mut i32) (i32.const 3848)) + (global $std/array/reversed2 (mut i32) (i32.const 3904)) + (global $std/array/reversed4 (mut i32) (i32.const 3968)) + (global $std/array/expected4 (mut i32) (i32.const 4032)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -274,8 +273,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 4320)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 4400)) + (global $std/array/randomStringsActual (mut i32) (i32.const 4272)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 4352)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648)) @@ -292,12 +291,12 @@ (global $std/array/subarr8 (mut i32) (i32.const 0)) (global $std/array/subarrU32 (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 8116)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 8068)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $std/array/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -394,7 +393,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -676,7 +675,7 @@ (func $~lib/collector/dummy/__ref_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/runtime.register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/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 @@ -685,8 +684,8 @@ if i32.const 0 i32.const 80 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -702,8 +701,8 @@ if i32.const 0 i32.const 80 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -728,7 +727,7 @@ unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -736,7 +735,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop @@ -774,9 +773,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -826,9 +825,9 @@ local.get $0 else i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 2 @@ -867,9 +866,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -890,9 +889,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 0 @@ -1223,18 +1222,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -1299,7 +1298,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -1472,7 +1471,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -1634,8 +1633,8 @@ i32.eqz if i32.const 0 - i32.const 688 - i32.const 74 + i32.const 80 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable @@ -1689,7 +1688,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 14 i32.const 64 call $~lib/env/abort @@ -1787,7 +1786,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -1808,7 +1807,7 @@ i32.lt_s if i32.const 0 - i32.const 272 + i32.const 280 i32.const 309 i32.const 20 call $~lib/env/abort @@ -2169,7 +2168,7 @@ i32.lt_s if i32.const 0 - i32.const 272 + i32.const 280 i32.const 381 i32.const 20 call $~lib/env/abort @@ -2953,7 +2952,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 561 i32.const 4 call $~lib/env/abort @@ -3059,7 +3058,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -3667,7 +3666,7 @@ i64.eqz if i32.const 0 - i32.const 3048 + i32.const 3000 i32.const 1021 i32.const 4 call $~lib/env/abort @@ -4099,7 +4098,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -4709,7 +4708,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -4857,7 +4856,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -5349,7 +5348,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -5853,7 +5852,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -5964,7 +5963,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 44 i32.const 62 call $~lib/env/abort @@ -6029,7 +6028,7 @@ i32.eqz if i32.const 0 - i32.const 3048 + i32.const 3000 i32.const 1030 i32.const 24 call $~lib/env/abort @@ -6174,7 +6173,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -6218,7 +6217,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 44 i32.const 62 call $~lib/env/abort @@ -6284,7 +6283,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 111 i32.const 38 call $~lib/env/abort @@ -6470,7 +6469,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -6554,7 +6553,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 96 i32.const 45 call $~lib/env/abort @@ -6568,7 +6567,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -6635,7 +6634,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -6651,7 +6650,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 44 i32.const 62 call $~lib/env/abort @@ -6679,9 +6678,9 @@ i32.eqz if i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 13 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -6732,7 +6731,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 111 i32.const 38 call $~lib/env/abort @@ -6908,7 +6907,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -6992,7 +6991,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 96 i32.const 45 call $~lib/env/abort @@ -7006,7 +7005,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -7073,7 +7072,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -7186,7 +7185,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -7272,7 +7271,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -7339,7 +7338,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -7615,7 +7614,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 44 i32.const 62 call $~lib/env/abort @@ -7646,8 +7645,8 @@ i32.eqz if i32.const 0 - i32.const 4432 - i32.const 41 + i32.const 4384 + i32.const 47 i32.const 4 call $~lib/env/abort unreachable @@ -7657,11 +7656,11 @@ call $~lib/string/String#get:length i32.ge_u if - i32.const 4256 + i32.const 4208 return end i32.const 2 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 local.get $0 @@ -7673,7 +7672,7 @@ i32.store16 local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/string/String#concat (; 196 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -7684,7 +7683,7 @@ i32.const 0 i32.eq if - i32.const 4480 + i32.const 4432 local.set $1 end local.get $0 @@ -7705,11 +7704,11 @@ i32.const 0 i32.eq if - i32.const 4256 + i32.const 4208 return end local.get $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $5 local.get $5 local.get $0 @@ -7723,11 +7722,11 @@ call $~lib/memory/memory.copy local.get $5 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 197 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 4480 + i32.const 4432 local.get $0 i32.const 0 i32.ne @@ -7739,7 +7738,7 @@ (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 4256 + i32.const 4208 local.set $1 block $break|0 i32.const 0 @@ -7820,7 +7819,7 @@ i32.gt_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 111 i32.const 38 call $~lib/env/abort @@ -7987,7 +7986,7 @@ i32.eqz if i32.const 0 - i32.const 272 + i32.const 280 i32.const 526 i32.const 4 call $~lib/env/abort @@ -8071,7 +8070,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 96 i32.const 45 call $~lib/env/abort @@ -8085,7 +8084,7 @@ i32.ge_u if i32.const 0 - i32.const 272 + i32.const 280 i32.const 99 i32.const 61 call $~lib/env/abort @@ -8152,7 +8151,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 813 i32.const 2 call $~lib/env/abort @@ -8268,8 +8267,8 @@ i32.eqz if i32.const 0 - i32.const 4432 - i32.const 197 + i32.const 4384 + i32.const 203 i32.const 4 call $~lib/env/abort unreachable @@ -8338,7 +8337,7 @@ local.get $3 i32.eqz if - i32.const 4256 + i32.const 4208 return end local.get $8 @@ -8359,7 +8358,7 @@ return end local.get $3 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $10 local.get $10 local.get $0 @@ -8369,9 +8368,9 @@ call $~lib/memory/memory.copy local.get $10 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) - (func $~lib/runtime/runtime.discard (; 212 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/discard (; 212 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -8380,8 +8379,8 @@ if i32.const 0 i32.const 80 - i32.const 68 - i32.const 6 + i32.const 114 + i32.const 4 call $~lib/env/abort unreachable end @@ -8397,8 +8396,8 @@ if i32.const 0 i32.const 80 - i32.const 70 - i32.const 6 + i32.const 116 + i32.const 4 call $~lib/env/abort unreachable end @@ -8424,7 +8423,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -8433,8 +8432,8 @@ local.get $2 i32.eqz if - i32.const 4528 - i32.const 4552 + i32.const 4480 + i32.const 4504 local.get $3 i32.load8_u i32.const 0 @@ -8458,7 +8457,7 @@ local.get $6 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 i32.const 0 local.set $8 @@ -8489,8 +8488,8 @@ i32.const 1 i32.shl i32.add - i32.const 4528 - i32.const 4552 + i32.const 4480 + i32.const 4504 local.get $9 i32.const 0 i32.ne @@ -8547,8 +8546,8 @@ i32.const 1 i32.shl i32.add - i32.const 4528 - i32.const 4552 + i32.const 4480 + i32.const 4504 local.get $9 i32.const 0 i32.ne @@ -8571,13 +8570,13 @@ call $~lib/string/String#substring local.set $10 local.get $7 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $10 return end local.get $7 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 214 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -8662,7 +8661,7 @@ (local $7 i32) (local $8 i64) (local $9 i64) - i32.const 5144 + i32.const 5096 i32.load offset=4 local.set $3 block $break|0 @@ -8807,7 +8806,7 @@ local.get $0 i32.eqz if - i32.const 4704 + i32.const 4656 return end local.get $0 @@ -8829,7 +8828,7 @@ local.get $2 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $3 block $~lib/util/number/utoa32_core|inlined.0 local.get $3 @@ -8851,7 +8850,7 @@ end local.get $3 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 218 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -8935,7 +8934,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -8963,7 +8962,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -9042,13 +9041,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -9065,7 +9064,7 @@ local.get $0 i32.eqz if - i32.const 4704 + i32.const 4656 return end local.get $0 @@ -9074,7 +9073,7 @@ local.get $1 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 block $~lib/util/number/utoa32_core|inlined.2 local.get $2 @@ -9090,7 +9089,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -9154,7 +9153,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -9182,7 +9181,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -9261,13 +9260,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -9356,7 +9355,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 6696 + i32.const 6648 i32.load offset=4 local.set $16 block $break|0 @@ -10373,11 +10372,11 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 6384 + i32.const 6336 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_frc_pow - i32.const 6608 + i32.const 6560 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_exp_pow @@ -10650,7 +10649,7 @@ f64.const 0 f64.eq if - i32.const 5552 + i32.const 5504 return end local.get $0 @@ -10660,11 +10659,11 @@ local.get $0 call $~lib/builtins/isNaN if - i32.const 5576 + i32.const 5528 return end - i32.const 5600 - i32.const 5640 + i32.const 5552 + i32.const 5592 local.get $0 f64.const 0 f64.lt @@ -10674,7 +10673,7 @@ i32.const 28 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $1 local.get $0 @@ -10686,7 +10685,7 @@ call $~lib/string/String#substring local.set $3 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $3 ) (func $~lib/util/number/dtoa_stream (; 234 ;) (type $FUNCSIG$iiid) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) @@ -10742,8 +10741,8 @@ local.get $3 i32.add local.set $4 - i32.const 5600 - i32.const 5640 + i32.const 5552 + i32.const 5592 local.get $3 select local.set $5 @@ -10781,7 +10780,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -10809,7 +10808,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -10888,13 +10887,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 236 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -10921,7 +10920,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -10991,7 +10990,7 @@ i32.add i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $10 block $break|1 i32.const 0 @@ -11084,7 +11083,7 @@ end local.get $10 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String>#join (; 238 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -11097,9 +11096,9 @@ i32.eqz if i32.const 0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 19 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -11122,7 +11121,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -11131,7 +11130,7 @@ local.get $2 i32.eqz if - i32.const 6976 + i32.const 6928 return end local.get $1 @@ -11148,7 +11147,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -11176,7 +11175,7 @@ i32.const 1 i32.shl i32.add - i32.const 6976 + i32.const 6928 i32.const 15 i32.const 1 i32.shl @@ -11225,7 +11224,7 @@ i32.const 1 i32.shl i32.add - i32.const 6976 + i32.const 6928 i32.const 15 i32.const 1 i32.shl @@ -11245,13 +11244,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 241 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -11261,7 +11260,7 @@ ) (func $~lib/array/Array#toString (; 242 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join ) (func $~lib/util/number/itoa (; 243 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -11366,7 +11365,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -11394,7 +11393,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -11473,13 +11472,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -11489,7 +11488,7 @@ ) (func $~lib/array/Array#toString (; 247 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join ) (func $~lib/util/number/itoa (; 248 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -11562,7 +11561,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -11590,7 +11589,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -11669,13 +11668,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 251 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -11685,7 +11684,7 @@ ) (func $~lib/array/Array#toString (; 252 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join ) (func $~lib/util/number/decimalCount64 (; 253 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -11769,7 +11768,7 @@ (local $11 i32) (local $12 i64) (local $13 i64) - i32.const 5144 + i32.const 5096 i32.load offset=4 local.set $3 block $break|0 @@ -11896,7 +11895,7 @@ local.get $0 i64.eqz if - i32.const 4704 + i32.const 4656 return end local.get $0 @@ -11913,7 +11912,7 @@ local.get $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 block $~lib/util/number/utoa32_core|inlined.8 local.get $1 @@ -11934,7 +11933,7 @@ local.get $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 block $~lib/util/number/utoa64_core|inlined.0 local.get $1 @@ -11951,7 +11950,7 @@ end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 256 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 @@ -12042,7 +12041,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -12070,7 +12069,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -12149,13 +12148,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 259 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -12165,7 +12164,7 @@ ) (func $~lib/array/Array#toString (; 260 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join ) (func $~lib/util/number/itoa64 (; 261 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) @@ -12180,7 +12179,7 @@ local.get $0 i64.eqz if - i32.const 4704 + i32.const 4656 return end local.get $0 @@ -12210,7 +12209,7 @@ local.get $4 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 block $~lib/util/number/utoa32_core|inlined.10 local.get $2 @@ -12233,7 +12232,7 @@ local.get $4 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 block $~lib/util/number/utoa64_core|inlined.2 local.get $2 @@ -12256,7 +12255,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa (; 262 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 @@ -12369,7 +12368,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -12397,7 +12396,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -12476,13 +12475,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 265 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -12492,7 +12491,7 @@ ) (func $~lib/array/Array#toString (; 266 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join ) (func $~lib/array/Array<~lib/string/String | null>#join_str (; 267 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -12514,7 +12513,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -12584,7 +12583,7 @@ i32.add i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $10 block $break|1 i32.const 0 @@ -12677,7 +12676,7 @@ end local.get $10 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array<~lib/string/String | null>#join (; 268 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -12687,12 +12686,12 @@ ) (func $~lib/array/Array<~lib/string/String | null>#toString (; 269 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array<~lib/string/String | null>#join ) (func $~lib/array/Array<~lib/string/String>#toString (; 270 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array<~lib/string/String>#join ) (func $~lib/array/Array<~lib/array/Array>#join_arr (; 271 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -12711,10 +12710,10 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -12734,7 +12733,7 @@ local.get $1 call $~lib/array/Array#join else - i32.const 4256 + i32.const 4208 end return end @@ -12807,7 +12806,7 @@ ) (func $~lib/array/Array<~lib/array/Array>#toString (; 273 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array<~lib/array/Array>#join ) (func $~lib/util/number/itoa (; 274 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) @@ -12880,7 +12879,7 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end local.get $0 @@ -12908,7 +12907,7 @@ local.get $5 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $6 i32.const 0 local.set $7 @@ -12987,13 +12986,13 @@ call $~lib/string/String#substring local.set $9 local.get $6 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $9 return end local.get $6 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/array/Array#join (; 277 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -13017,10 +13016,10 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -13040,7 +13039,7 @@ local.get $1 call $~lib/array/Array#join else - i32.const 4256 + i32.const 4208 end return end @@ -13113,7 +13112,7 @@ ) (func $~lib/array/Array<~lib/array/Array>#toString (; 280 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array<~lib/array/Array>#join ) (func $~lib/array/Array<~lib/array/Array>#join_arr (; 281 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) @@ -13132,10 +13131,10 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -13155,7 +13154,7 @@ local.get $1 call $~lib/array/Array#join else - i32.const 4256 + i32.const 4208 end return end @@ -13242,10 +13241,10 @@ i32.const 0 i32.lt_s if - i32.const 4256 + i32.const 4208 return end - i32.const 4256 + i32.const 4208 local.set $3 local.get $1 call $~lib/string/String#get:length @@ -13265,7 +13264,7 @@ local.get $1 call $~lib/array/Array<~lib/array/Array>#join else - i32.const 4256 + i32.const 4208 end return end @@ -13338,7 +13337,7 @@ ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 285 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 - i32.const 4584 + i32.const 4536 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join ) (func $start:std/array (; 286 ;) (type $FUNCSIG$v) @@ -13368,7 +13367,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 39 i32.const 0 call $~lib/env/abort @@ -13381,7 +13380,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 40 i32.const 0 call $~lib/env/abort @@ -13395,7 +13394,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 41 i32.const 0 call $~lib/env/abort @@ -13410,7 +13409,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 42 i32.const 0 call $~lib/env/abort @@ -13423,7 +13422,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 43 i32.const 0 call $~lib/env/abort @@ -13436,7 +13435,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 44 i32.const 0 call $~lib/env/abort @@ -13452,14 +13451,14 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 248 + i32.const 256 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 51 i32.const 0 call $~lib/env/abort @@ -13475,14 +13474,14 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 320 + i32.const 328 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 54 i32.const 0 call $~lib/env/abort @@ -13498,14 +13497,14 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 344 + i32.const 352 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 57 i32.const 0 call $~lib/env/abort @@ -13521,14 +13520,14 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 368 + i32.const 376 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 60 i32.const 0 call $~lib/env/abort @@ -13544,14 +13543,14 @@ i32.const 5 i32.const 0 i32.const 7 - i32.const 392 + i32.const 400 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 63 i32.const 0 call $~lib/env/abort @@ -13567,14 +13566,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 488 + i32.const 496 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 68 i32.const 0 call $~lib/env/abort @@ -13590,14 +13589,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 528 + i32.const 536 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 71 i32.const 0 call $~lib/env/abort @@ -13613,14 +13612,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 568 + i32.const 576 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 74 i32.const 0 call $~lib/env/abort @@ -13636,14 +13635,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 608 + i32.const 616 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 77 i32.const 0 call $~lib/env/abort @@ -13659,14 +13658,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 648 + i32.const 656 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 80 i32.const 0 call $~lib/env/abort @@ -13679,7 +13678,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 84 i32.const 0 call $~lib/env/abort @@ -13692,7 +13691,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 85 i32.const 0 call $~lib/env/abort @@ -13710,7 +13709,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 89 i32.const 0 call $~lib/env/abort @@ -13723,7 +13722,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 90 i32.const 0 call $~lib/env/abort @@ -13736,7 +13735,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 91 i32.const 0 call $~lib/env/abort @@ -13751,7 +13750,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 95 i32.const 0 call $~lib/env/abort @@ -13764,7 +13763,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 96 i32.const 0 call $~lib/env/abort @@ -13777,7 +13776,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 97 i32.const 0 call $~lib/env/abort @@ -13794,7 +13793,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 101 i32.const 0 call $~lib/env/abort @@ -13807,7 +13806,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 102 i32.const 0 call $~lib/env/abort @@ -13821,7 +13820,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 103 i32.const 0 call $~lib/env/abort @@ -13838,7 +13837,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 107 i32.const 0 call $~lib/env/abort @@ -13851,7 +13850,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 108 i32.const 0 call $~lib/env/abort @@ -13865,7 +13864,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 109 i32.const 0 call $~lib/env/abort @@ -13879,7 +13878,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 110 i32.const 0 call $~lib/env/abort @@ -13896,7 +13895,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 114 i32.const 0 call $~lib/env/abort @@ -13909,7 +13908,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 115 i32.const 0 call $~lib/env/abort @@ -13923,7 +13922,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 116 i32.const 0 call $~lib/env/abort @@ -13937,7 +13936,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 117 i32.const 0 call $~lib/env/abort @@ -13951,7 +13950,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 118 i32.const 0 call $~lib/env/abort @@ -13972,7 +13971,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 125 i32.const 0 call $~lib/env/abort @@ -13985,7 +13984,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 126 i32.const 0 call $~lib/env/abort @@ -13998,7 +13997,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 127 i32.const 0 call $~lib/env/abort @@ -14008,7 +14007,7 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 744 + i32.const 696 call $~lib/runtime/runtime.newArray call $~lib/array/Array#concat drop @@ -14019,7 +14018,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 130 i32.const 0 call $~lib/env/abort @@ -14033,7 +14032,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 132 i32.const 0 call $~lib/env/abort @@ -14047,7 +14046,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 133 i32.const 0 call $~lib/env/abort @@ -14061,7 +14060,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 134 i32.const 0 call $~lib/env/abort @@ -14086,7 +14085,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 141 i32.const 0 call $~lib/env/abort @@ -14099,7 +14098,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 142 i32.const 0 call $~lib/env/abort @@ -14112,7 +14111,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 143 i32.const 0 call $~lib/env/abort @@ -14126,7 +14125,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 144 i32.const 0 call $~lib/env/abort @@ -14140,7 +14139,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 145 i32.const 0 call $~lib/env/abort @@ -14154,7 +14153,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 146 i32.const 0 call $~lib/env/abort @@ -14168,7 +14167,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 147 i32.const 0 call $~lib/env/abort @@ -14182,7 +14181,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 148 i32.const 0 call $~lib/env/abort @@ -14198,7 +14197,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 151 i32.const 0 call $~lib/env/abort @@ -14215,7 +14214,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 154 i32.const 0 call $~lib/env/abort @@ -14229,7 +14228,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 155 i32.const 0 call $~lib/env/abort @@ -14242,7 +14241,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 158 i32.const 0 call $~lib/env/abort @@ -14259,7 +14258,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 160 i32.const 0 call $~lib/env/abort @@ -14272,7 +14271,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 161 i32.const 0 call $~lib/env/abort @@ -14281,7 +14280,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 808 + i32.const 760 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14292,14 +14291,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 848 + i32.const 800 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 167 i32.const 0 call $~lib/env/abort @@ -14308,7 +14307,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 888 + i32.const 840 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14319,14 +14318,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 928 + i32.const 880 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 169 i32.const 0 call $~lib/env/abort @@ -14335,7 +14334,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 968 + i32.const 920 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14346,14 +14345,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1008 + i32.const 960 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 171 i32.const 0 call $~lib/env/abort @@ -14362,7 +14361,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1048 + i32.const 1000 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14373,14 +14372,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1088 + i32.const 1040 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 173 i32.const 0 call $~lib/env/abort @@ -14389,7 +14388,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1128 + i32.const 1080 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14400,14 +14399,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1168 + i32.const 1120 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 175 i32.const 0 call $~lib/env/abort @@ -14416,7 +14415,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1208 + i32.const 1160 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14427,14 +14426,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1248 + i32.const 1200 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 177 i32.const 0 call $~lib/env/abort @@ -14443,7 +14442,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1288 + i32.const 1240 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14454,14 +14453,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1328 + i32.const 1280 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 179 i32.const 0 call $~lib/env/abort @@ -14470,7 +14469,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1368 + i32.const 1320 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14481,14 +14480,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1408 + i32.const 1360 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 181 i32.const 0 call $~lib/env/abort @@ -14497,7 +14496,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1448 + i32.const 1400 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14508,14 +14507,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1488 + i32.const 1440 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 183 i32.const 0 call $~lib/env/abort @@ -14524,7 +14523,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1528 + i32.const 1480 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14535,14 +14534,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1568 + i32.const 1520 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 185 i32.const 0 call $~lib/env/abort @@ -14551,7 +14550,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1608 + i32.const 1560 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14562,14 +14561,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1648 + i32.const 1600 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 187 i32.const 0 call $~lib/env/abort @@ -14578,7 +14577,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1688 + i32.const 1640 call $~lib/runtime/runtime.newArray global.set $std/array/cwArr global.get $std/array/cwArr @@ -14589,14 +14588,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1728 + i32.const 1680 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 189 i32.const 0 call $~lib/env/abort @@ -14613,7 +14612,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 195 i32.const 0 call $~lib/env/abort @@ -14626,7 +14625,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 196 i32.const 0 call $~lib/env/abort @@ -14640,7 +14639,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 197 i32.const 0 call $~lib/env/abort @@ -14654,7 +14653,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 198 i32.const 0 call $~lib/env/abort @@ -14668,7 +14667,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 199 i32.const 0 call $~lib/env/abort @@ -14682,7 +14681,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 200 i32.const 0 call $~lib/env/abort @@ -14699,7 +14698,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 204 i32.const 0 call $~lib/env/abort @@ -14712,7 +14711,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 205 i32.const 0 call $~lib/env/abort @@ -14726,7 +14725,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 206 i32.const 0 call $~lib/env/abort @@ -14740,7 +14739,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 207 i32.const 0 call $~lib/env/abort @@ -14754,7 +14753,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 208 i32.const 0 call $~lib/env/abort @@ -14768,7 +14767,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 209 i32.const 0 call $~lib/env/abort @@ -14782,7 +14781,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 210 i32.const 0 call $~lib/env/abort @@ -14797,7 +14796,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 216 i32.const 0 call $~lib/env/abort @@ -14810,7 +14809,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 217 i32.const 0 call $~lib/env/abort @@ -14823,7 +14822,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 218 i32.const 0 call $~lib/env/abort @@ -14837,7 +14836,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 219 i32.const 0 call $~lib/env/abort @@ -14851,7 +14850,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 220 i32.const 0 call $~lib/env/abort @@ -14865,7 +14864,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 221 i32.const 0 call $~lib/env/abort @@ -14879,7 +14878,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 222 i32.const 0 call $~lib/env/abort @@ -14894,7 +14893,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 226 i32.const 0 call $~lib/env/abort @@ -14907,7 +14906,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 227 i32.const 0 call $~lib/env/abort @@ -14920,7 +14919,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 228 i32.const 0 call $~lib/env/abort @@ -14934,7 +14933,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 229 i32.const 0 call $~lib/env/abort @@ -14948,7 +14947,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 230 i32.const 0 call $~lib/env/abort @@ -14962,7 +14961,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 231 i32.const 0 call $~lib/env/abort @@ -14978,7 +14977,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 237 i32.const 0 call $~lib/env/abort @@ -14991,7 +14990,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 238 i32.const 0 call $~lib/env/abort @@ -15005,7 +15004,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 239 i32.const 0 call $~lib/env/abort @@ -15019,7 +15018,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 240 i32.const 0 call $~lib/env/abort @@ -15033,7 +15032,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 241 i32.const 0 call $~lib/env/abort @@ -15058,7 +15057,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 250 i32.const 0 call $~lib/env/abort @@ -15075,7 +15074,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 254 i32.const 0 call $~lib/env/abort @@ -15092,7 +15091,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 258 i32.const 0 call $~lib/env/abort @@ -15109,7 +15108,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 262 i32.const 0 call $~lib/env/abort @@ -15126,7 +15125,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 266 i32.const 0 call $~lib/env/abort @@ -15143,7 +15142,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 270 i32.const 0 call $~lib/env/abort @@ -15160,7 +15159,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 274 i32.const 0 call $~lib/env/abort @@ -15177,7 +15176,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 278 i32.const 0 call $~lib/env/abort @@ -15194,7 +15193,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 282 i32.const 0 call $~lib/env/abort @@ -15211,7 +15210,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 286 i32.const 0 call $~lib/env/abort @@ -15228,7 +15227,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 292 i32.const 0 call $~lib/env/abort @@ -15245,7 +15244,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 296 i32.const 0 call $~lib/env/abort @@ -15262,7 +15261,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 300 i32.const 0 call $~lib/env/abort @@ -15279,7 +15278,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 304 i32.const 0 call $~lib/env/abort @@ -15296,7 +15295,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 308 i32.const 0 call $~lib/env/abort @@ -15313,7 +15312,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 312 i32.const 0 call $~lib/env/abort @@ -15330,7 +15329,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 316 i32.const 0 call $~lib/env/abort @@ -15347,7 +15346,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 320 i32.const 0 call $~lib/env/abort @@ -15364,7 +15363,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 324 i32.const 0 call $~lib/env/abort @@ -15381,7 +15380,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 328 i32.const 0 call $~lib/env/abort @@ -15399,7 +15398,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 332 i32.const 0 call $~lib/env/abort @@ -15412,7 +15411,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 333 i32.const 0 call $~lib/env/abort @@ -15426,7 +15425,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 334 i32.const 0 call $~lib/env/abort @@ -15440,7 +15439,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 335 i32.const 0 call $~lib/env/abort @@ -15453,14 +15452,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1840 + i32.const 1792 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 340 i32.const 0 call $~lib/env/abort @@ -15470,14 +15469,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 1880 + i32.const 1832 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 341 i32.const 0 call $~lib/env/abort @@ -15486,7 +15485,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1896 + i32.const 1848 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15496,14 +15495,14 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 1936 + i32.const 1888 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 344 i32.const 0 call $~lib/env/abort @@ -15513,14 +15512,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 1968 + i32.const 1920 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 345 i32.const 0 call $~lib/env/abort @@ -15529,7 +15528,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 1992 + i32.const 1944 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15539,14 +15538,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 2032 + i32.const 1984 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 348 i32.const 0 call $~lib/env/abort @@ -15556,14 +15555,14 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 2056 + i32.const 2008 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 349 i32.const 0 call $~lib/env/abort @@ -15572,7 +15571,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2088 + i32.const 2040 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15582,14 +15581,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2128 + i32.const 2080 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 352 i32.const 0 call $~lib/env/abort @@ -15599,14 +15598,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2152 + i32.const 2104 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 353 i32.const 0 call $~lib/env/abort @@ -15615,7 +15614,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2184 + i32.const 2136 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15625,14 +15624,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2224 + i32.const 2176 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 356 i32.const 0 call $~lib/env/abort @@ -15642,14 +15641,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2248 + i32.const 2200 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 357 i32.const 0 call $~lib/env/abort @@ -15658,7 +15657,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2280 + i32.const 2232 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15668,14 +15667,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 2320 + i32.const 2272 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 360 i32.const 0 call $~lib/env/abort @@ -15685,14 +15684,14 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 2344 + i32.const 2296 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 361 i32.const 0 call $~lib/env/abort @@ -15701,7 +15700,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2376 + i32.const 2328 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15711,14 +15710,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2416 + i32.const 2368 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 364 i32.const 0 call $~lib/env/abort @@ -15728,14 +15727,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2440 + i32.const 2392 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 365 i32.const 0 call $~lib/env/abort @@ -15744,7 +15743,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2472 + i32.const 2424 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15754,14 +15753,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 2512 + i32.const 2464 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 368 i32.const 0 call $~lib/env/abort @@ -15771,14 +15770,14 @@ i32.const 4 i32.const 2 i32.const 4 - i32.const 2536 + i32.const 2488 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 369 i32.const 0 call $~lib/env/abort @@ -15787,7 +15786,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2568 + i32.const 2520 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15797,14 +15796,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2608 + i32.const 2560 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 372 i32.const 0 call $~lib/env/abort @@ -15814,14 +15813,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2624 + i32.const 2576 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 373 i32.const 0 call $~lib/env/abort @@ -15830,7 +15829,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2664 + i32.const 2616 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15840,14 +15839,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2704 + i32.const 2656 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 376 i32.const 0 call $~lib/env/abort @@ -15857,14 +15856,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2720 + i32.const 2672 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 377 i32.const 0 call $~lib/env/abort @@ -15873,7 +15872,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2760 + i32.const 2712 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15883,14 +15882,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2800 + i32.const 2752 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 380 i32.const 0 call $~lib/env/abort @@ -15900,14 +15899,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2816 + i32.const 2768 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 381 i32.const 0 call $~lib/env/abort @@ -15916,7 +15915,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2856 + i32.const 2808 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15926,14 +15925,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2896 + i32.const 2848 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 384 i32.const 0 call $~lib/env/abort @@ -15943,14 +15942,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2912 + i32.const 2864 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 385 i32.const 0 call $~lib/env/abort @@ -15959,7 +15958,7 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 2952 + i32.const 2904 call $~lib/runtime/runtime.newArray global.set $std/array/sarr global.get $std/array/sarr @@ -15969,14 +15968,14 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 2992 + i32.const 2944 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 388 i32.const 0 call $~lib/env/abort @@ -15986,14 +15985,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 3008 + i32.const 2960 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 389 i32.const 0 call $~lib/env/abort @@ -16025,7 +16024,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 399 i32.const 0 call $~lib/env/abort @@ -16041,7 +16040,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 402 i32.const 0 call $~lib/env/abort @@ -16057,7 +16056,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 405 i32.const 0 call $~lib/env/abort @@ -16073,7 +16072,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 413 i32.const 0 call $~lib/env/abort @@ -16086,7 +16085,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 414 i32.const 0 call $~lib/env/abort @@ -16102,7 +16101,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 416 i32.const 0 call $~lib/env/abort @@ -16130,7 +16129,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 429 i32.const 0 call $~lib/env/abort @@ -16143,7 +16142,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 430 i32.const 0 call $~lib/env/abort @@ -16167,7 +16166,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 438 i32.const 0 call $~lib/env/abort @@ -16183,7 +16182,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 441 i32.const 0 call $~lib/env/abort @@ -16199,7 +16198,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 449 i32.const 0 call $~lib/env/abort @@ -16212,7 +16211,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 450 i32.const 0 call $~lib/env/abort @@ -16228,7 +16227,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 452 i32.const 0 call $~lib/env/abort @@ -16256,7 +16255,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 465 i32.const 0 call $~lib/env/abort @@ -16269,7 +16268,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 466 i32.const 0 call $~lib/env/abort @@ -16293,7 +16292,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 474 i32.const 0 call $~lib/env/abort @@ -16309,7 +16308,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 477 i32.const 0 call $~lib/env/abort @@ -16325,7 +16324,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 485 i32.const 0 call $~lib/env/abort @@ -16338,7 +16337,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 486 i32.const 0 call $~lib/env/abort @@ -16354,7 +16353,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 488 i32.const 0 call $~lib/env/abort @@ -16382,7 +16381,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 501 i32.const 0 call $~lib/env/abort @@ -16395,7 +16394,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 502 i32.const 0 call $~lib/env/abort @@ -16420,7 +16419,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 511 i32.const 0 call $~lib/env/abort @@ -16437,7 +16436,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 520 i32.const 0 call $~lib/env/abort @@ -16450,7 +16449,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 521 i32.const 0 call $~lib/env/abort @@ -16467,7 +16466,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 524 i32.const 0 call $~lib/env/abort @@ -16496,7 +16495,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 538 i32.const 0 call $~lib/env/abort @@ -16509,7 +16508,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 539 i32.const 0 call $~lib/env/abort @@ -16533,7 +16532,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 564 i32.const 0 call $~lib/env/abort @@ -16587,7 +16586,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 575 i32.const 0 call $~lib/env/abort @@ -16604,7 +16603,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 576 i32.const 0 call $~lib/env/abort @@ -16622,7 +16621,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 585 i32.const 0 call $~lib/env/abort @@ -16635,7 +16634,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 586 i32.const 0 call $~lib/env/abort @@ -16653,7 +16652,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 593 i32.const 0 call $~lib/env/abort @@ -16683,7 +16682,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 608 i32.const 0 call $~lib/env/abort @@ -16696,7 +16695,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 609 i32.const 0 call $~lib/env/abort @@ -16721,7 +16720,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 617 i32.const 0 call $~lib/env/abort @@ -16739,7 +16738,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 626 i32.const 0 call $~lib/env/abort @@ -16752,7 +16751,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 627 i32.const 0 call $~lib/env/abort @@ -16770,7 +16769,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 634 i32.const 0 call $~lib/env/abort @@ -16800,7 +16799,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 649 i32.const 0 call $~lib/env/abort @@ -16813,7 +16812,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 650 i32.const 0 call $~lib/env/abort @@ -16838,7 +16837,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 658 i32.const 0 call $~lib/env/abort @@ -16855,7 +16854,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 662 i32.const 0 call $~lib/env/abort @@ -16874,7 +16873,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 665 i32.const 0 call $~lib/env/abort @@ -16893,7 +16892,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 668 i32.const 0 call $~lib/env/abort @@ -16910,7 +16909,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 676 i32.const 0 call $~lib/env/abort @@ -16923,7 +16922,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 677 i32.const 0 call $~lib/env/abort @@ -16940,7 +16939,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 679 i32.const 0 call $~lib/env/abort @@ -16969,7 +16968,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 692 i32.const 0 call $~lib/env/abort @@ -16982,7 +16981,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 693 i32.const 0 call $~lib/env/abort @@ -17007,7 +17006,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 701 i32.const 0 call $~lib/env/abort @@ -17024,7 +17023,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 705 i32.const 0 call $~lib/env/abort @@ -17043,7 +17042,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 708 i32.const 0 call $~lib/env/abort @@ -17062,7 +17061,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 711 i32.const 0 call $~lib/env/abort @@ -17079,7 +17078,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 719 i32.const 0 call $~lib/env/abort @@ -17092,7 +17091,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 720 i32.const 0 call $~lib/env/abort @@ -17109,7 +17108,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 722 i32.const 0 call $~lib/env/abort @@ -17138,7 +17137,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 735 i32.const 0 call $~lib/env/abort @@ -17151,7 +17150,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 736 i32.const 0 call $~lib/env/abort @@ -17188,14 +17187,14 @@ i32.const 8 i32.const 2 i32.const 9 - i32.const 3360 + i32.const 3312 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 824 i32.const 0 call $~lib/env/abort @@ -17213,14 +17212,14 @@ i32.const 8 i32.const 3 i32.const 10 - i32.const 3520 + i32.const 3472 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 828 i32.const 0 call $~lib/env/abort @@ -17238,14 +17237,14 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 3672 + i32.const 3624 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 832 i32.const 0 call $~lib/env/abort @@ -17263,14 +17262,14 @@ i32.const 5 i32.const 2 i32.const 8 - i32.const 3784 + i32.const 3736 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 836 i32.const 0 call $~lib/env/abort @@ -17299,14 +17298,14 @@ i32.const 1 i32.const 2 i32.const 4 - i32.const 4112 + i32.const 4064 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 856 i32.const 0 call $~lib/env/abort @@ -17318,14 +17317,14 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 4136 + i32.const 4088 call $~lib/runtime/runtime.newArray i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 859 i32.const 0 call $~lib/env/abort @@ -17340,7 +17339,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 862 i32.const 0 call $~lib/env/abort @@ -17355,7 +17354,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 865 i32.const 0 call $~lib/env/abort @@ -17370,7 +17369,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 868 i32.const 0 call $~lib/env/abort @@ -17385,7 +17384,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 871 i32.const 0 call $~lib/env/abort @@ -17400,7 +17399,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 874 i32.const 0 call $~lib/env/abort @@ -17452,7 +17451,7 @@ i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 904 i32.const 0 call $~lib/env/abort @@ -17471,16 +17470,16 @@ i32.const 2 i32.const 0 i32.const 16 - i32.const 4608 + i32.const 4560 call $~lib/runtime/runtime.newArray - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join - i32.const 4632 + i32.const 4584 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 913 i32.const 0 call $~lib/env/abort @@ -17489,16 +17488,16 @@ i32.const 3 i32.const 2 i32.const 4 - i32.const 5176 + i32.const 5128 call $~lib/runtime/runtime.newArray - i32.const 4256 + i32.const 4208 call $~lib/array/Array#join - i32.const 5208 + i32.const 5160 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 914 i32.const 0 call $~lib/env/abort @@ -17507,16 +17506,16 @@ i32.const 3 i32.const 2 i32.const 8 - i32.const 5296 + i32.const 5248 call $~lib/runtime/runtime.newArray - i32.const 5272 + i32.const 5224 call $~lib/array/Array#join - i32.const 5208 + i32.const 5160 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 915 i32.const 0 call $~lib/env/abort @@ -17525,16 +17524,16 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 5376 + i32.const 5328 call $~lib/runtime/runtime.newArray - i32.const 5352 + i32.const 5304 call $~lib/array/Array#join - i32.const 5400 + i32.const 5352 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 916 i32.const 0 call $~lib/env/abort @@ -17543,16 +17542,16 @@ i32.const 6 i32.const 3 i32.const 10 - i32.const 6728 + i32.const 6680 call $~lib/runtime/runtime.newArray - i32.const 5528 + i32.const 5480 call $~lib/array/Array#join - i32.const 6792 + i32.const 6744 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 917 i32.const 0 call $~lib/env/abort @@ -17561,16 +17560,16 @@ i32.const 3 i32.const 2 i32.const 15 - i32.const 6944 + i32.const 6896 call $~lib/runtime/runtime.newArray - i32.const 4256 + i32.const 4208 call $~lib/array/Array<~lib/string/String>#join - i32.const 6888 + i32.const 6840 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 918 i32.const 0 call $~lib/env/abort @@ -17631,14 +17630,14 @@ end global.set $std/array/refArr global.get $std/array/refArr - i32.const 4584 + i32.const 4536 call $~lib/array/Array#join - i32.const 7024 + i32.const 6976 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 920 i32.const 0 call $~lib/env/abort @@ -17646,12 +17645,12 @@ end global.get $std/array/reversed0 call $~lib/array/Array#toString - i32.const 4256 + i32.const 4208 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 924 i32.const 0 call $~lib/env/abort @@ -17659,12 +17658,12 @@ end global.get $std/array/reversed1 call $~lib/array/Array#toString - i32.const 6888 + i32.const 6840 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 925 i32.const 0 call $~lib/env/abort @@ -17672,12 +17671,12 @@ end global.get $std/array/reversed2 call $~lib/array/Array#toString - i32.const 7104 + i32.const 7056 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 926 i32.const 0 call $~lib/env/abort @@ -17685,12 +17684,12 @@ end global.get $std/array/reversed4 call $~lib/array/Array#toString - i32.const 7128 + i32.const 7080 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 927 i32.const 0 call $~lib/env/abort @@ -17699,15 +17698,15 @@ i32.const 3 i32.const 0 i32.const 21 - i32.const 7184 + i32.const 7136 call $~lib/runtime/runtime.newArray call $~lib/array/Array#toString - i32.const 7208 + i32.const 7160 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 929 i32.const 0 call $~lib/env/abort @@ -17716,15 +17715,15 @@ i32.const 3 i32.const 1 i32.const 22 - i32.const 7264 + i32.const 7216 call $~lib/runtime/runtime.newArray call $~lib/array/Array#toString - i32.const 7288 + i32.const 7240 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 930 i32.const 0 call $~lib/env/abort @@ -17733,15 +17732,15 @@ i32.const 3 i32.const 3 i32.const 17 - i32.const 7368 + i32.const 7320 call $~lib/runtime/runtime.newArray call $~lib/array/Array#toString - i32.const 7408 + i32.const 7360 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 931 i32.const 0 call $~lib/env/abort @@ -17750,15 +17749,15 @@ i32.const 4 i32.const 3 i32.const 23 - i32.const 7520 + i32.const 7472 call $~lib/runtime/runtime.newArray call $~lib/array/Array#toString - i32.const 7568 + i32.const 7520 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 932 i32.const 0 call $~lib/env/abort @@ -17766,12 +17765,12 @@ end global.get $std/array/randomStringsExpected call $~lib/array/Array<~lib/string/String | null>#toString - i32.const 7672 + i32.const 7624 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 933 i32.const 0 call $~lib/env/abort @@ -17780,15 +17779,15 @@ i32.const 4 i32.const 2 i32.const 15 - i32.const 7800 + i32.const 7752 call $~lib/runtime/runtime.newArray call $~lib/array/Array<~lib/string/String>#toString - i32.const 7832 + i32.const 7784 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 934 i32.const 0 call $~lib/env/abort @@ -17809,7 +17808,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 7888 + i32.const 7840 call $~lib/runtime/runtime.newArray local.set $2 local.get $2 @@ -17823,7 +17822,7 @@ i32.const 2 i32.const 2 i32.const 4 - i32.const 7912 + i32.const 7864 call $~lib/runtime/runtime.newArray local.set $2 local.get $2 @@ -17837,12 +17836,12 @@ global.set $std/array/subarr32 global.get $std/array/subarr32 call $~lib/array/Array<~lib/array/Array>#toString - i32.const 7936 + i32.const 7888 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 937 i32.const 0 call $~lib/env/abort @@ -17863,7 +17862,7 @@ i32.const 2 i32.const 0 i32.const 7 - i32.const 7992 + i32.const 7944 call $~lib/runtime/runtime.newArray local.set $2 local.get $2 @@ -17877,7 +17876,7 @@ i32.const 2 i32.const 0 i32.const 7 - i32.const 8016 + i32.const 7968 call $~lib/runtime/runtime.newArray local.set $2 local.get $2 @@ -17891,12 +17890,12 @@ global.set $std/array/subarr8 global.get $std/array/subarr8 call $~lib/array/Array<~lib/array/Array>#toString - i32.const 7936 + i32.const 7888 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 940 i32.const 0 call $~lib/env/abort @@ -17929,7 +17928,7 @@ i32.const 1 i32.const 2 i32.const 8 - i32.const 8112 + i32.const 8064 call $~lib/runtime/runtime.newArray local.set $4 local.get $4 @@ -17952,12 +17951,12 @@ global.set $std/array/subarrU32 global.get $std/array/subarrU32 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString - i32.const 6888 + i32.const 6840 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 152 + i32.const 160 i32.const 943 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index 108bd018..ceb90c52 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -10,10 +10,10 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 56) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 96) "\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 144) "\02\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 104) "\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 152) "\02\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 168) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -87,7 +87,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -319,16 +319,16 @@ end end ) - (func $~lib/runtime/runtime.register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 200 + i32.const 208 i32.le_u if i32.const 0 i32.const 64 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -342,8 +342,8 @@ if i32.const 0 i32.const 64 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -366,13 +366,13 @@ unreachable end local.get $0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 local.get $0 call $~lib/memory/memory.fill local.get $1 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/memory/memory.copy (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -604,7 +604,7 @@ i32.gt_s select local.tee $2 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $3 local.get $0 local.get $1 @@ -613,7 +613,7 @@ call $~lib/memory/memory.copy local.get $3 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -640,9 +640,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -669,14 +669,14 @@ (local $0 i32) (local $1 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $1 i32.store local.get $0 @@ -689,7 +689,7 @@ i32.const 2 i32.store offset=12 local.get $1 - i32.const 152 + i32.const 160 i32.const 8 call $~lib/memory/memory.copy local.get $0 @@ -708,16 +708,16 @@ i32.or if i32.const 0 - i32.const 168 + i32.const 176 i32.const 21 i32.const 6 call $~lib/env/abort unreachable end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 i32.const 0 i32.store @@ -761,7 +761,7 @@ call $~lib/dataview/DataView#constructor ) (func $start:std/arraybuffer (; 12 ;) (type $FUNCSIG$v) - i32.const 200 + i32.const 208 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -776,7 +776,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 3 i32.const 0 call $~lib/env/abort @@ -795,7 +795,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 7 i32.const 0 call $~lib/env/abort @@ -806,7 +806,7 @@ i32.eq if i32.const 0 - i32.const 104 + i32.const 112 i32.const 8 i32.const 0 call $~lib/env/abort @@ -825,7 +825,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 12 i32.const 0 call $~lib/env/abort @@ -844,7 +844,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 16 i32.const 0 call $~lib/env/abort @@ -863,7 +863,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 20 i32.const 0 call $~lib/env/abort @@ -882,7 +882,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 24 i32.const 0 call $~lib/env/abort @@ -901,7 +901,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 28 i32.const 0 call $~lib/env/abort @@ -920,7 +920,7 @@ i32.ne if i32.const 0 - i32.const 104 + i32.const 112 i32.const 32 i32.const 0 call $~lib/env/abort @@ -937,7 +937,7 @@ i32.load offset=4 if i32.const 0 - i32.const 104 + i32.const 112 i32.const 36 i32.const 0 call $~lib/env/abort @@ -947,16 +947,16 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 37 i32.const 0 call $~lib/env/abort unreachable end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor global.set $std/arraybuffer/arr8 @@ -971,7 +971,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 47 i32.const 0 call $~lib/env/abort @@ -980,9 +980,9 @@ block $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array>11 (result i32) i32.const 1 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor br_if $__inlined_func$~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array>11 @@ -992,7 +992,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 48 i32.const 0 call $~lib/env/abort @@ -1012,7 +1012,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 49 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index e1550142..00dee2f8 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -9,10 +9,10 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 56) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 96) "\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 144) "\02\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 160) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") + (data (i32.const 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 104) "\01\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 152) "\02\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 168) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -25,7 +25,7 @@ (global $std/arraybuffer/sliced (mut i32) (i32.const 0)) (global $std/arraybuffer/arr8 (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 200)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 208)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -125,7 +125,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -398,7 +398,7 @@ end end ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -407,8 +407,8 @@ if i32.const 0 i32.const 64 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -424,8 +424,8 @@ if i32.const 0 i32.const 64 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -448,7 +448,7 @@ unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -456,7 +456,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -744,7 +744,7 @@ select local.set $6 local.get $6 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $7 local.get $0 @@ -754,7 +754,7 @@ call $~lib/memory/memory.copy local.get $7 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -1353,9 +1353,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1385,9 +1385,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 0 @@ -1400,18 +1400,18 @@ (local $5 i32) (local $6 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.get $6 @@ -1440,9 +1440,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 2 @@ -1464,7 +1464,7 @@ i32.or if i32.const 0 - i32.const 168 + i32.const 176 i32.const 21 i32.const 6 call $~lib/env/abort @@ -1475,9 +1475,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1556,7 +1556,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 3 i32.const 0 call $~lib/env/abort @@ -1574,7 +1574,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 7 i32.const 0 call $~lib/env/abort @@ -1586,7 +1586,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 8 i32.const 0 call $~lib/env/abort @@ -1604,7 +1604,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 12 i32.const 0 call $~lib/env/abort @@ -1622,7 +1622,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 16 i32.const 0 call $~lib/env/abort @@ -1640,7 +1640,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 20 i32.const 0 call $~lib/env/abort @@ -1658,7 +1658,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 24 i32.const 0 call $~lib/env/abort @@ -1676,7 +1676,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 28 i32.const 0 call $~lib/env/abort @@ -1694,7 +1694,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 32 i32.const 0 call $~lib/env/abort @@ -1712,7 +1712,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 36 i32.const 0 call $~lib/env/abort @@ -1724,7 +1724,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 37 i32.const 0 call $~lib/env/abort @@ -1736,7 +1736,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 39 i32.const 0 call $~lib/env/abort @@ -1748,7 +1748,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 40 i32.const 0 call $~lib/env/abort @@ -1760,7 +1760,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 41 i32.const 0 call $~lib/env/abort @@ -1772,7 +1772,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 42 i32.const 0 call $~lib/env/abort @@ -1784,7 +1784,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 43 i32.const 0 call $~lib/env/abort @@ -1797,14 +1797,14 @@ i32.const 2 i32.const 2 i32.const 5 - i32.const 152 + i32.const 160 call $~lib/runtime/runtime.newArray call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> i32.eqz i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 46 i32.const 0 call $~lib/env/abort @@ -1815,7 +1815,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 47 i32.const 0 call $~lib/env/abort @@ -1828,7 +1828,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 48 i32.const 0 call $~lib/env/abort @@ -1848,7 +1848,7 @@ i32.eqz if i32.const 0 - i32.const 104 + i32.const 112 i32.const 49 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index 8bd5caa8..cec7a2f0 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -16,10 +16,10 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 56) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 96) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 184) "\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 104) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 152) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data (i32.const 192) "\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -92,7 +92,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -157,16 +157,16 @@ i32.const 0 i32.store8 ) - (func $~lib/runtime/runtime.register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 224 + i32.const 232 i32.le_u if i32.const 0 i32.const 64 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -180,8 +180,8 @@ if i32.const 0 i32.const 64 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -193,20 +193,20 @@ (func $~lib/arraybuffer/ArrayBufferView#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 call $~lib/memory/memory.fill local.get $1 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $1 local.get $0 i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -236,8 +236,8 @@ i32.ge_u if i32.const 0 - i32.const 104 - i32.const 115 + i32.const 112 + i32.const 116 i32.const 44 call $~lib/env/abort unreachable @@ -265,16 +265,16 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 21 i32.const 6 call $~lib/env/abort unreachable end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $3 i32.const 0 i32.store @@ -310,7 +310,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 44 i32.const 6 call $~lib/env/abort @@ -376,7 +376,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 58 i32.const 7 call $~lib/env/abort @@ -402,7 +402,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 69 i32.const 49 call $~lib/env/abort @@ -427,7 +427,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 77 i32.const 7 call $~lib/env/abort @@ -469,7 +469,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 86 i32.const 7 call $~lib/env/abort @@ -506,7 +506,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 180 i32.const 6 call $~lib/env/abort @@ -531,7 +531,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 92 i32.const 49 call $~lib/env/abort @@ -556,7 +556,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 100 i32.const 6 call $~lib/env/abort @@ -596,7 +596,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 109 i32.const 6 call $~lib/env/abort @@ -633,7 +633,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 189 i32.const 6 call $~lib/env/abort @@ -658,7 +658,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 118 i32.const 6 call $~lib/env/abort @@ -696,7 +696,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 127 i32.const 6 call $~lib/env/abort @@ -724,7 +724,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 133 i32.const 49 call $~lib/env/abort @@ -742,7 +742,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 141 i32.const 6 call $~lib/env/abort @@ -778,7 +778,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 149 i32.const 6 call $~lib/env/abort @@ -814,7 +814,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 198 i32.const 6 call $~lib/env/abort @@ -838,7 +838,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 154 i32.const 49 call $~lib/env/abort @@ -856,7 +856,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 162 i32.const 6 call $~lib/env/abort @@ -890,7 +890,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 170 i32.const 6 call $~lib/env/abort @@ -926,7 +926,7 @@ i32.gt_s if i32.const 0 - i32.const 152 + i32.const 160 i32.const 206 i32.const 6 call $~lib/env/abort @@ -968,14 +968,14 @@ ) (func $start:std/dataview (; 30 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 224 + i32.const 232 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register call $~lib/arraybuffer/ArrayBufferView#constructor global.set $std/dataview/array global.get $std/dataview/array @@ -1030,7 +1030,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 14 i32.const 0 call $~lib/env/abort @@ -1044,7 +1044,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 15 i32.const 0 call $~lib/env/abort @@ -1058,7 +1058,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 16 i32.const 0 call $~lib/env/abort @@ -1072,7 +1072,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 17 i32.const 0 call $~lib/env/abort @@ -1086,7 +1086,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 18 i32.const 0 call $~lib/env/abort @@ -1100,7 +1100,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 20 i32.const 0 call $~lib/env/abort @@ -1114,7 +1114,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 21 i32.const 0 call $~lib/env/abort @@ -1128,7 +1128,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 22 i32.const 0 call $~lib/env/abort @@ -1142,7 +1142,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 23 i32.const 0 call $~lib/env/abort @@ -1156,7 +1156,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 24 i32.const 0 call $~lib/env/abort @@ -1169,7 +1169,7 @@ f64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 26 i32.const 0 call $~lib/env/abort @@ -1182,7 +1182,7 @@ f64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 27 i32.const 0 call $~lib/env/abort @@ -1195,7 +1195,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 29 i32.const 0 call $~lib/env/abort @@ -1208,7 +1208,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 30 i32.const 0 call $~lib/env/abort @@ -1221,7 +1221,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 31 i32.const 0 call $~lib/env/abort @@ -1234,7 +1234,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 32 i32.const 0 call $~lib/env/abort @@ -1247,7 +1247,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 33 i32.const 0 call $~lib/env/abort @@ -1260,7 +1260,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 34 i32.const 0 call $~lib/env/abort @@ -1273,7 +1273,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 35 i32.const 0 call $~lib/env/abort @@ -1286,7 +1286,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 36 i32.const 0 call $~lib/env/abort @@ -1302,7 +1302,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 38 i32.const 0 call $~lib/env/abort @@ -1318,7 +1318,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 39 i32.const 0 call $~lib/env/abort @@ -1334,7 +1334,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 40 i32.const 0 call $~lib/env/abort @@ -1350,7 +1350,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 41 i32.const 0 call $~lib/env/abort @@ -1366,7 +1366,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 42 i32.const 0 call $~lib/env/abort @@ -1382,7 +1382,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 43 i32.const 0 call $~lib/env/abort @@ -1398,7 +1398,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 44 i32.const 0 call $~lib/env/abort @@ -1414,7 +1414,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 46 i32.const 0 call $~lib/env/abort @@ -1430,7 +1430,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 47 i32.const 0 call $~lib/env/abort @@ -1446,7 +1446,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 48 i32.const 0 call $~lib/env/abort @@ -1462,7 +1462,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 49 i32.const 0 call $~lib/env/abort @@ -1478,7 +1478,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 50 i32.const 0 call $~lib/env/abort @@ -1494,7 +1494,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 51 i32.const 0 call $~lib/env/abort @@ -1510,7 +1510,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 52 i32.const 0 call $~lib/env/abort @@ -1524,7 +1524,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 54 i32.const 0 call $~lib/env/abort @@ -1538,7 +1538,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 55 i32.const 0 call $~lib/env/abort @@ -1552,7 +1552,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 56 i32.const 0 call $~lib/env/abort @@ -1566,7 +1566,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 57 i32.const 0 call $~lib/env/abort @@ -1580,7 +1580,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 58 i32.const 0 call $~lib/env/abort @@ -1594,7 +1594,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 60 i32.const 0 call $~lib/env/abort @@ -1608,7 +1608,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 61 i32.const 0 call $~lib/env/abort @@ -1622,7 +1622,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 62 i32.const 0 call $~lib/env/abort @@ -1636,7 +1636,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 63 i32.const 0 call $~lib/env/abort @@ -1650,7 +1650,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 64 i32.const 0 call $~lib/env/abort @@ -1663,7 +1663,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 66 i32.const 0 call $~lib/env/abort @@ -1676,7 +1676,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 67 i32.const 0 call $~lib/env/abort @@ -1689,7 +1689,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 69 i32.const 0 call $~lib/env/abort @@ -1702,7 +1702,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 70 i32.const 0 call $~lib/env/abort @@ -1715,7 +1715,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 71 i32.const 0 call $~lib/env/abort @@ -1728,7 +1728,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 72 i32.const 0 call $~lib/env/abort @@ -1741,7 +1741,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 73 i32.const 0 call $~lib/env/abort @@ -1754,7 +1754,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 74 i32.const 0 call $~lib/env/abort @@ -1767,7 +1767,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 75 i32.const 0 call $~lib/env/abort @@ -1780,7 +1780,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 76 i32.const 0 call $~lib/env/abort @@ -1796,7 +1796,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 78 i32.const 0 call $~lib/env/abort @@ -1812,7 +1812,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 79 i32.const 0 call $~lib/env/abort @@ -1828,7 +1828,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 80 i32.const 0 call $~lib/env/abort @@ -1844,7 +1844,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 81 i32.const 0 call $~lib/env/abort @@ -1860,7 +1860,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 82 i32.const 0 call $~lib/env/abort @@ -1876,7 +1876,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 83 i32.const 0 call $~lib/env/abort @@ -1892,7 +1892,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 84 i32.const 0 call $~lib/env/abort @@ -1908,7 +1908,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 86 i32.const 0 call $~lib/env/abort @@ -1924,7 +1924,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 87 i32.const 0 call $~lib/env/abort @@ -1940,7 +1940,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 88 i32.const 0 call $~lib/env/abort @@ -1956,7 +1956,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 89 i32.const 0 call $~lib/env/abort @@ -1972,7 +1972,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 90 i32.const 0 call $~lib/env/abort @@ -1988,7 +1988,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 91 i32.const 0 call $~lib/env/abort @@ -2004,7 +2004,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 92 i32.const 0 call $~lib/env/abort @@ -2018,7 +2018,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 94 i32.const 0 call $~lib/env/abort @@ -2032,7 +2032,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 95 i32.const 0 call $~lib/env/abort @@ -2046,7 +2046,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 96 i32.const 0 call $~lib/env/abort @@ -2060,7 +2060,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 97 i32.const 0 call $~lib/env/abort @@ -2074,7 +2074,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 98 i32.const 0 call $~lib/env/abort @@ -2088,7 +2088,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 100 i32.const 0 call $~lib/env/abort @@ -2102,7 +2102,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 101 i32.const 0 call $~lib/env/abort @@ -2116,7 +2116,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 102 i32.const 0 call $~lib/env/abort @@ -2130,7 +2130,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 103 i32.const 0 call $~lib/env/abort @@ -2144,7 +2144,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 104 i32.const 0 call $~lib/env/abort @@ -2157,7 +2157,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 106 i32.const 0 call $~lib/env/abort @@ -2170,7 +2170,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 107 i32.const 0 call $~lib/env/abort @@ -2188,7 +2188,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 110 i32.const 0 call $~lib/env/abort @@ -2206,7 +2206,7 @@ f32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 113 i32.const 0 call $~lib/env/abort @@ -2223,7 +2223,7 @@ f64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 116 i32.const 0 call $~lib/env/abort @@ -2240,7 +2240,7 @@ f64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 119 i32.const 0 call $~lib/env/abort @@ -2255,7 +2255,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 122 i32.const 0 call $~lib/env/abort @@ -2275,7 +2275,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 125 i32.const 0 call $~lib/env/abort @@ -2295,7 +2295,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 128 i32.const 0 call $~lib/env/abort @@ -2313,7 +2313,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 131 i32.const 0 call $~lib/env/abort @@ -2331,7 +2331,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 134 i32.const 0 call $~lib/env/abort @@ -2348,7 +2348,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 137 i32.const 0 call $~lib/env/abort @@ -2365,7 +2365,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 140 i32.const 0 call $~lib/env/abort @@ -2380,7 +2380,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 143 i32.const 0 call $~lib/env/abort @@ -2400,7 +2400,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 146 i32.const 0 call $~lib/env/abort @@ -2420,7 +2420,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 149 i32.const 0 call $~lib/env/abort @@ -2438,7 +2438,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 152 i32.const 0 call $~lib/env/abort @@ -2456,7 +2456,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 155 i32.const 0 call $~lib/env/abort @@ -2473,7 +2473,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 158 i32.const 0 call $~lib/env/abort @@ -2490,7 +2490,7 @@ i64.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 161 i32.const 0 call $~lib/env/abort @@ -2510,7 +2510,7 @@ i32.sub if i32.const 0 - i32.const 192 + i32.const 200 i32.const 164 i32.const 0 call $~lib/env/abort @@ -2522,7 +2522,7 @@ i32.ne if i32.const 0 - i32.const 192 + i32.const 200 i32.const 165 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/dataview.untouched.wat b/tests/compiler/std/dataview.untouched.wat index e75653c0..caabcb01 100644 --- a/tests/compiler/std/dataview.untouched.wat +++ b/tests/compiler/std/dataview.untouched.wat @@ -16,10 +16,10 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 56) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 96) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 144) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") - (data (i32.const 184) "\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") + (data (i32.const 56) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 104) "\01\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 152) "\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") + (data (i32.const 192) "\01\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -31,7 +31,7 @@ (global $std/dataview/array (mut i32) (i32.const 0)) (global $std/dataview/view (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 224)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 232)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -131,7 +131,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -404,7 +404,7 @@ end end ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -413,8 +413,8 @@ if i32.const 0 i32.const 64 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -430,8 +430,8 @@ if i32.const 0 i32.const 64 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -454,7 +454,7 @@ unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -462,7 +462,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -491,9 +491,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -523,9 +523,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 0 @@ -540,8 +540,8 @@ i32.ge_u if i32.const 0 - i32.const 104 - i32.const 115 + i32.const 112 + i32.const 116 i32.const 44 call $~lib/env/abort unreachable @@ -573,7 +573,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 21 i32.const 6 call $~lib/env/abort @@ -584,9 +584,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -656,7 +656,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 44 i32.const 6 call $~lib/env/abort @@ -733,7 +733,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 58 i32.const 7 call $~lib/env/abort @@ -765,7 +765,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 69 i32.const 49 call $~lib/env/abort @@ -807,7 +807,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 77 i32.const 7 call $~lib/env/abort @@ -857,7 +857,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 86 i32.const 7 call $~lib/env/abort @@ -932,7 +932,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 180 i32.const 6 call $~lib/env/abort @@ -961,7 +961,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 92 i32.const 49 call $~lib/env/abort @@ -1001,7 +1001,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 100 i32.const 6 call $~lib/env/abort @@ -1037,7 +1037,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 109 i32.const 6 call $~lib/env/abort @@ -1073,7 +1073,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 189 i32.const 6 call $~lib/env/abort @@ -1108,7 +1108,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 118 i32.const 6 call $~lib/env/abort @@ -1148,7 +1148,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 127 i32.const 6 call $~lib/env/abort @@ -1182,7 +1182,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 133 i32.const 49 call $~lib/env/abort @@ -1208,7 +1208,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 141 i32.const 6 call $~lib/env/abort @@ -1242,7 +1242,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 149 i32.const 6 call $~lib/env/abort @@ -1276,7 +1276,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 198 i32.const 6 call $~lib/env/abort @@ -1304,7 +1304,7 @@ i32.ge_u if i32.const 0 - i32.const 152 + i32.const 160 i32.const 154 i32.const 49 call $~lib/env/abort @@ -1330,7 +1330,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 162 i32.const 6 call $~lib/env/abort @@ -1364,7 +1364,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 170 i32.const 6 call $~lib/env/abort @@ -1398,7 +1398,7 @@ i32.or if i32.const 0 - i32.const 152 + i32.const 160 i32.const 206 i32.const 6 call $~lib/env/abort @@ -1520,7 +1520,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 14 i32.const 0 call $~lib/env/abort @@ -1535,7 +1535,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 15 i32.const 0 call $~lib/env/abort @@ -1550,7 +1550,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 16 i32.const 0 call $~lib/env/abort @@ -1565,7 +1565,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 17 i32.const 0 call $~lib/env/abort @@ -1580,7 +1580,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 18 i32.const 0 call $~lib/env/abort @@ -1595,7 +1595,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 20 i32.const 0 call $~lib/env/abort @@ -1610,7 +1610,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 21 i32.const 0 call $~lib/env/abort @@ -1625,7 +1625,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 22 i32.const 0 call $~lib/env/abort @@ -1640,7 +1640,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 23 i32.const 0 call $~lib/env/abort @@ -1655,7 +1655,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 24 i32.const 0 call $~lib/env/abort @@ -1670,7 +1670,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 26 i32.const 0 call $~lib/env/abort @@ -1685,7 +1685,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 27 i32.const 0 call $~lib/env/abort @@ -1699,7 +1699,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 29 i32.const 0 call $~lib/env/abort @@ -1713,7 +1713,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 30 i32.const 0 call $~lib/env/abort @@ -1727,7 +1727,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 31 i32.const 0 call $~lib/env/abort @@ -1741,7 +1741,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 32 i32.const 0 call $~lib/env/abort @@ -1755,7 +1755,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 33 i32.const 0 call $~lib/env/abort @@ -1769,7 +1769,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 34 i32.const 0 call $~lib/env/abort @@ -1783,7 +1783,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 35 i32.const 0 call $~lib/env/abort @@ -1797,7 +1797,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 36 i32.const 0 call $~lib/env/abort @@ -1816,7 +1816,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 38 i32.const 0 call $~lib/env/abort @@ -1835,7 +1835,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 39 i32.const 0 call $~lib/env/abort @@ -1854,7 +1854,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 40 i32.const 0 call $~lib/env/abort @@ -1873,7 +1873,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 41 i32.const 0 call $~lib/env/abort @@ -1892,7 +1892,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 42 i32.const 0 call $~lib/env/abort @@ -1911,7 +1911,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 43 i32.const 0 call $~lib/env/abort @@ -1930,7 +1930,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 44 i32.const 0 call $~lib/env/abort @@ -1949,7 +1949,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 46 i32.const 0 call $~lib/env/abort @@ -1968,7 +1968,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 47 i32.const 0 call $~lib/env/abort @@ -1987,7 +1987,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 48 i32.const 0 call $~lib/env/abort @@ -2006,7 +2006,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 49 i32.const 0 call $~lib/env/abort @@ -2025,7 +2025,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 50 i32.const 0 call $~lib/env/abort @@ -2044,7 +2044,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 51 i32.const 0 call $~lib/env/abort @@ -2063,7 +2063,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 52 i32.const 0 call $~lib/env/abort @@ -2078,7 +2078,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 54 i32.const 0 call $~lib/env/abort @@ -2093,7 +2093,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 55 i32.const 0 call $~lib/env/abort @@ -2108,7 +2108,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 56 i32.const 0 call $~lib/env/abort @@ -2123,7 +2123,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 57 i32.const 0 call $~lib/env/abort @@ -2138,7 +2138,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 58 i32.const 0 call $~lib/env/abort @@ -2153,7 +2153,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 60 i32.const 0 call $~lib/env/abort @@ -2168,7 +2168,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 61 i32.const 0 call $~lib/env/abort @@ -2183,7 +2183,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 62 i32.const 0 call $~lib/env/abort @@ -2198,7 +2198,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 63 i32.const 0 call $~lib/env/abort @@ -2213,7 +2213,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 64 i32.const 0 call $~lib/env/abort @@ -2228,7 +2228,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 66 i32.const 0 call $~lib/env/abort @@ -2243,7 +2243,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 67 i32.const 0 call $~lib/env/abort @@ -2257,7 +2257,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 69 i32.const 0 call $~lib/env/abort @@ -2271,7 +2271,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 70 i32.const 0 call $~lib/env/abort @@ -2285,7 +2285,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 71 i32.const 0 call $~lib/env/abort @@ -2299,7 +2299,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 72 i32.const 0 call $~lib/env/abort @@ -2313,7 +2313,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 73 i32.const 0 call $~lib/env/abort @@ -2327,7 +2327,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 74 i32.const 0 call $~lib/env/abort @@ -2341,7 +2341,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 75 i32.const 0 call $~lib/env/abort @@ -2355,7 +2355,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 76 i32.const 0 call $~lib/env/abort @@ -2372,7 +2372,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 78 i32.const 0 call $~lib/env/abort @@ -2389,7 +2389,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 79 i32.const 0 call $~lib/env/abort @@ -2406,7 +2406,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 80 i32.const 0 call $~lib/env/abort @@ -2423,7 +2423,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 81 i32.const 0 call $~lib/env/abort @@ -2440,7 +2440,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 82 i32.const 0 call $~lib/env/abort @@ -2457,7 +2457,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 83 i32.const 0 call $~lib/env/abort @@ -2474,7 +2474,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 84 i32.const 0 call $~lib/env/abort @@ -2491,7 +2491,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 86 i32.const 0 call $~lib/env/abort @@ -2508,7 +2508,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 87 i32.const 0 call $~lib/env/abort @@ -2525,7 +2525,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 88 i32.const 0 call $~lib/env/abort @@ -2542,7 +2542,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 89 i32.const 0 call $~lib/env/abort @@ -2559,7 +2559,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 90 i32.const 0 call $~lib/env/abort @@ -2576,7 +2576,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 91 i32.const 0 call $~lib/env/abort @@ -2593,7 +2593,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 92 i32.const 0 call $~lib/env/abort @@ -2608,7 +2608,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 94 i32.const 0 call $~lib/env/abort @@ -2623,7 +2623,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 95 i32.const 0 call $~lib/env/abort @@ -2638,7 +2638,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 96 i32.const 0 call $~lib/env/abort @@ -2653,7 +2653,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 97 i32.const 0 call $~lib/env/abort @@ -2668,7 +2668,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 98 i32.const 0 call $~lib/env/abort @@ -2683,7 +2683,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 100 i32.const 0 call $~lib/env/abort @@ -2698,7 +2698,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 101 i32.const 0 call $~lib/env/abort @@ -2713,7 +2713,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 102 i32.const 0 call $~lib/env/abort @@ -2728,7 +2728,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 103 i32.const 0 call $~lib/env/abort @@ -2743,7 +2743,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 104 i32.const 0 call $~lib/env/abort @@ -2758,7 +2758,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 106 i32.const 0 call $~lib/env/abort @@ -2773,7 +2773,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 107 i32.const 0 call $~lib/env/abort @@ -2793,7 +2793,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 110 i32.const 0 call $~lib/env/abort @@ -2813,7 +2813,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 113 i32.const 0 call $~lib/env/abort @@ -2833,7 +2833,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 116 i32.const 0 call $~lib/env/abort @@ -2853,7 +2853,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 119 i32.const 0 call $~lib/env/abort @@ -2871,7 +2871,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 122 i32.const 0 call $~lib/env/abort @@ -2895,7 +2895,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 125 i32.const 0 call $~lib/env/abort @@ -2919,7 +2919,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 128 i32.const 0 call $~lib/env/abort @@ -2939,7 +2939,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 131 i32.const 0 call $~lib/env/abort @@ -2959,7 +2959,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 134 i32.const 0 call $~lib/env/abort @@ -2979,7 +2979,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 137 i32.const 0 call $~lib/env/abort @@ -2999,7 +2999,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 140 i32.const 0 call $~lib/env/abort @@ -3017,7 +3017,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 143 i32.const 0 call $~lib/env/abort @@ -3039,7 +3039,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 146 i32.const 0 call $~lib/env/abort @@ -3061,7 +3061,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 149 i32.const 0 call $~lib/env/abort @@ -3081,7 +3081,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 152 i32.const 0 call $~lib/env/abort @@ -3101,7 +3101,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 155 i32.const 0 call $~lib/env/abort @@ -3121,7 +3121,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 158 i32.const 0 call $~lib/env/abort @@ -3141,7 +3141,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 161 i32.const 0 call $~lib/env/abort @@ -3165,7 +3165,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 164 i32.const 0 call $~lib/env/abort @@ -3178,7 +3178,7 @@ i32.eqz if i32.const 0 - i32.const 192 + i32.const 200 i32.const 165 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/date.optimized.wat b/tests/compiler/std/date.optimized.wat index b642e87e..8cea4628 100644 --- a/tests/compiler/std/date.optimized.wat +++ b/tests/compiler/std/date.optimized.wat @@ -9,7 +9,7 @@ (import "Date" "now" (func $~lib/bindings/Date/now (result f64))) (memory $0 1) (data (i32.const 8) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s") - (data (i32.const 40) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/date/creationTime (mut i64) (i64.const 0)) @@ -81,16 +81,16 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.register (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 80 + i32.const 88 i32.le_u if i32.const 0 i32.const 48 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -104,8 +104,8 @@ if i32.const 0 i32.const 48 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -188,7 +188,7 @@ call $~lib/env/abort unreachable end - i32.const 80 + i32.const 88 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -205,7 +205,7 @@ local.get $0 i32.const 8 i32.add - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i64.const 0 i64.store diff --git a/tests/compiler/std/date.untouched.wat b/tests/compiler/std/date.untouched.wat index 54165047..c226b9a8 100644 --- a/tests/compiler/std/date.untouched.wat +++ b/tests/compiler/std/date.untouched.wat @@ -13,7 +13,7 @@ (import "Date" "now" (func $~lib/bindings/Date/now (result f64))) (memory $0 1) (data (i32.const 8) "\01\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00") - (data (i32.const 40) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 40) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/date/creationTime (mut i64) (i64.const 0)) @@ -23,7 +23,7 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $std/date/date (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 80)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 88)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -123,7 +123,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -139,7 +139,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -148,8 +148,8 @@ if i32.const 0 i32.const 48 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -165,8 +165,8 @@ if i32.const 0 i32.const 48 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -181,9 +181,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index cc008a45..cd823e72 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -23,12 +23,12 @@ (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 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 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 128) "s\00t\00d\00/\00m\00a\00p\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\02\00\00\00&") + (data (i32.const 80) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 120) "\02\00\00\00\14") + (data (i32.const 136) "s\00t\00d\00/\00m\00a\00p\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -36,7 +36,7 @@ (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -100,7 +100,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -127,16 +127,16 @@ i32.const 16 i32.add ) - (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 148 + i32.const 156 i32.le_u if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -150,8 +150,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -378,20 +378,20 @@ i32.gt_u if i32.const 0 - i32.const 72 + i32.const 80 i32.const 54 i32.const 43 call $~lib/env/abort unreachable end local.get $0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 local.get $0 call $~lib/memory/memory.fill local.get $1 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/map/Map#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -431,9 +431,9 @@ (func $~lib/map/Map#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -829,7 +829,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -851,7 +851,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -870,7 +870,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -891,7 +891,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -910,7 +910,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -929,7 +929,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -951,7 +951,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -970,7 +970,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -991,7 +991,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -1010,7 +1010,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -1029,7 +1029,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -1043,7 +1043,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -1064,7 +1064,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -1082,7 +1082,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -1104,7 +1104,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -1118,7 +1118,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -1139,7 +1139,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -1151,7 +1151,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -1161,9 +1161,9 @@ (func $~lib/map/Map#constructor (; 15 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -1506,7 +1506,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -1526,7 +1526,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -1543,7 +1543,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -1564,7 +1564,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -1583,7 +1583,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -1600,7 +1600,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -1620,7 +1620,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -1637,7 +1637,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -1658,7 +1658,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -1677,7 +1677,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -1694,7 +1694,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -1708,7 +1708,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -1729,7 +1729,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -1747,7 +1747,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -1767,7 +1767,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -1781,7 +1781,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -1802,7 +1802,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -1814,7 +1814,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -1824,9 +1824,9 @@ (func $~lib/map/Map#constructor (; 22 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -2267,7 +2267,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -2289,7 +2289,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -2308,7 +2308,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -2329,7 +2329,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -2348,7 +2348,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -2367,7 +2367,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -2389,7 +2389,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -2408,7 +2408,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -2429,7 +2429,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -2448,7 +2448,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -2467,7 +2467,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -2481,7 +2481,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -2502,7 +2502,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -2520,7 +2520,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -2542,7 +2542,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -2556,7 +2556,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -2577,7 +2577,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -2589,7 +2589,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -2599,9 +2599,9 @@ (func $~lib/map/Map#constructor (; 30 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -2989,7 +2989,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -3009,7 +3009,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -3026,7 +3026,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -3047,7 +3047,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -3066,7 +3066,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -3083,7 +3083,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -3103,7 +3103,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -3120,7 +3120,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -3141,7 +3141,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -3160,7 +3160,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -3177,7 +3177,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -3191,7 +3191,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -3212,7 +3212,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -3230,7 +3230,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -3250,7 +3250,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -3264,7 +3264,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -3285,7 +3285,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -3297,7 +3297,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -3307,9 +3307,9 @@ (func $~lib/map/Map#constructor (; 37 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -3701,7 +3701,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -3719,7 +3719,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -3734,7 +3734,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -3755,7 +3755,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -3774,7 +3774,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -3789,7 +3789,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -3807,7 +3807,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -3822,7 +3822,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -3843,7 +3843,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -3862,7 +3862,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -3877,7 +3877,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -3891,7 +3891,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -3912,7 +3912,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -3930,7 +3930,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -3948,7 +3948,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -3962,7 +3962,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -3983,7 +3983,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -3995,7 +3995,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -4005,9 +4005,9 @@ (func $~lib/map/Map#constructor (; 46 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -4045,7 +4045,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -4063,7 +4063,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -4078,7 +4078,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -4099,7 +4099,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -4118,7 +4118,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -4133,7 +4133,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -4151,7 +4151,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -4166,7 +4166,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -4187,7 +4187,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -4206,7 +4206,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -4221,7 +4221,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -4235,7 +4235,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -4256,7 +4256,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -4274,7 +4274,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -4292,7 +4292,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -4306,7 +4306,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -4327,7 +4327,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -4339,7 +4339,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -4384,9 +4384,9 @@ (func $~lib/map/Map#constructor (; 49 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -4814,7 +4814,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -4833,7 +4833,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -4849,7 +4849,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -4870,7 +4870,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -4889,7 +4889,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -4905,7 +4905,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -4924,7 +4924,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -4940,7 +4940,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -4961,7 +4961,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -4980,7 +4980,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -4996,7 +4996,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -5010,7 +5010,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -5031,7 +5031,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -5049,7 +5049,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -5068,7 +5068,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -5082,7 +5082,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -5103,7 +5103,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -5115,7 +5115,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -5125,9 +5125,9 @@ (func $~lib/map/Map#constructor (; 58 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -5165,7 +5165,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -5184,7 +5184,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -5200,7 +5200,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -5221,7 +5221,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -5240,7 +5240,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -5256,7 +5256,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -5275,7 +5275,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -5291,7 +5291,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -5312,7 +5312,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -5331,7 +5331,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -5347,7 +5347,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -5361,7 +5361,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -5382,7 +5382,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -5400,7 +5400,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -5419,7 +5419,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -5433,7 +5433,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -5454,7 +5454,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -5466,7 +5466,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -5476,9 +5476,9 @@ (func $~lib/map/Map#constructor (; 60 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -5845,7 +5845,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -5864,7 +5864,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -5880,7 +5880,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -5901,7 +5901,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -5920,7 +5920,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -5936,7 +5936,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -5955,7 +5955,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -5971,7 +5971,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -5992,7 +5992,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -6011,7 +6011,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -6027,7 +6027,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6041,7 +6041,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -6062,7 +6062,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -6080,7 +6080,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -6099,7 +6099,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -6113,7 +6113,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -6134,7 +6134,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -6146,7 +6146,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -6156,9 +6156,9 @@ (func $~lib/map/Map#constructor (; 68 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -6525,7 +6525,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -6544,7 +6544,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -6560,7 +6560,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -6581,7 +6581,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -6600,7 +6600,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -6616,7 +6616,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -6635,7 +6635,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -6651,7 +6651,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -6672,7 +6672,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -6691,7 +6691,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -6707,7 +6707,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6721,7 +6721,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -6742,7 +6742,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -6760,7 +6760,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -6779,7 +6779,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -6793,7 +6793,7 @@ call $~lib/map/Map#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -6814,7 +6814,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -6826,7 +6826,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -6834,7 +6834,7 @@ end ) (func $start (; 76 ;) (type $FUNCSIG$v) - i32.const 152 + i32.const 160 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/std/map.untouched.wat b/tests/compiler/std/map.untouched.wat index 3cb23689..e10187c5 100644 --- a/tests/compiler/std/map.untouched.wat +++ b/tests/compiler/std/map.untouched.wat @@ -19,9 +19,9 @@ (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") + (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 120) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -30,11 +30,11 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 148)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 156)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -132,7 +132,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -157,7 +157,7 @@ (func $~lib/collector/dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -166,8 +166,8 @@ if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -183,8 +183,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -459,14 +459,14 @@ i32.gt_u if i32.const 0 - i32.const 72 + i32.const 80 i32.const 54 i32.const 43 call $~lib/env/abort unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -474,7 +474,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop @@ -557,9 +557,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1078,7 +1078,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -1100,7 +1100,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -1120,7 +1120,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -1143,7 +1143,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -1165,7 +1165,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -1185,7 +1185,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -1207,7 +1207,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -1227,7 +1227,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -1250,7 +1250,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -1272,7 +1272,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -1292,7 +1292,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -1309,7 +1309,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -1332,7 +1332,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -1355,7 +1355,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -1377,7 +1377,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -1394,7 +1394,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -1417,7 +1417,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -1432,7 +1432,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -1514,9 +1514,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -2018,7 +2018,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -2038,7 +2038,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -2056,7 +2056,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -2079,7 +2079,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -2101,7 +2101,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -2119,7 +2119,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -2139,7 +2139,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -2157,7 +2157,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -2180,7 +2180,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -2202,7 +2202,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -2220,7 +2220,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -2237,7 +2237,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -2260,7 +2260,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -2283,7 +2283,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -2303,7 +2303,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -2320,7 +2320,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -2343,7 +2343,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -2358,7 +2358,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -2440,9 +2440,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -2976,7 +2976,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -2998,7 +2998,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -3018,7 +3018,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -3041,7 +3041,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -3063,7 +3063,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -3083,7 +3083,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -3105,7 +3105,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -3125,7 +3125,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -3148,7 +3148,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -3170,7 +3170,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -3190,7 +3190,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -3207,7 +3207,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -3230,7 +3230,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -3253,7 +3253,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -3275,7 +3275,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -3292,7 +3292,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -3315,7 +3315,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -3330,7 +3330,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -3412,9 +3412,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -3916,7 +3916,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -3936,7 +3936,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -3954,7 +3954,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -3977,7 +3977,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -3999,7 +3999,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -4017,7 +4017,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -4037,7 +4037,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -4055,7 +4055,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -4078,7 +4078,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -4100,7 +4100,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -4118,7 +4118,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -4135,7 +4135,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -4158,7 +4158,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -4181,7 +4181,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -4201,7 +4201,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -4218,7 +4218,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -4241,7 +4241,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -4256,7 +4256,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -4338,9 +4338,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -4874,7 +4874,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -4892,7 +4892,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -4908,7 +4908,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -4931,7 +4931,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -4953,7 +4953,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -4969,7 +4969,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -4987,7 +4987,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -5003,7 +5003,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -5026,7 +5026,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -5048,7 +5048,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -5064,7 +5064,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -5081,7 +5081,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -5104,7 +5104,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -5127,7 +5127,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -5145,7 +5145,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -5162,7 +5162,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -5185,7 +5185,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -5200,7 +5200,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -5282,9 +5282,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -5776,7 +5776,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -5794,7 +5794,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -5810,7 +5810,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -5833,7 +5833,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -5855,7 +5855,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -5871,7 +5871,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -5889,7 +5889,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -5905,7 +5905,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -5928,7 +5928,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -5950,7 +5950,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -5966,7 +5966,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -5983,7 +5983,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -6006,7 +6006,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -6029,7 +6029,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -6047,7 +6047,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -6064,7 +6064,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -6087,7 +6087,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -6102,7 +6102,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -6184,9 +6184,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -6769,7 +6769,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -6788,7 +6788,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -6805,7 +6805,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -6828,7 +6828,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -6850,7 +6850,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -6867,7 +6867,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -6886,7 +6886,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -6903,7 +6903,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -6926,7 +6926,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -6948,7 +6948,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -6965,7 +6965,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6982,7 +6982,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -7005,7 +7005,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -7028,7 +7028,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -7047,7 +7047,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -7064,7 +7064,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -7087,7 +7087,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -7102,7 +7102,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -7184,9 +7184,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -7681,7 +7681,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -7700,7 +7700,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -7717,7 +7717,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -7740,7 +7740,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -7762,7 +7762,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -7779,7 +7779,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -7798,7 +7798,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -7815,7 +7815,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -7838,7 +7838,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -7860,7 +7860,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -7877,7 +7877,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7894,7 +7894,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -7917,7 +7917,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -7940,7 +7940,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -7959,7 +7959,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -7976,7 +7976,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -7999,7 +7999,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -8014,7 +8014,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -8096,9 +8096,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -8598,7 +8598,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -8617,7 +8617,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -8634,7 +8634,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -8657,7 +8657,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -8679,7 +8679,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -8696,7 +8696,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -8715,7 +8715,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -8732,7 +8732,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -8755,7 +8755,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -8777,7 +8777,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -8794,7 +8794,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8811,7 +8811,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -8834,7 +8834,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -8857,7 +8857,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -8876,7 +8876,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -8893,7 +8893,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -8916,7 +8916,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -8931,7 +8931,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort @@ -9013,9 +9013,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -9515,7 +9515,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -9534,7 +9534,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -9551,7 +9551,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 11 i32.const 4 call $~lib/env/abort @@ -9574,7 +9574,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 13 i32.const 2 call $~lib/env/abort @@ -9596,7 +9596,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 17 i32.const 4 call $~lib/env/abort @@ -9613,7 +9613,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -9632,7 +9632,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 4 call $~lib/env/abort @@ -9649,7 +9649,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 21 i32.const 4 call $~lib/env/abort @@ -9672,7 +9672,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 23 i32.const 2 call $~lib/env/abort @@ -9694,7 +9694,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 27 i32.const 4 call $~lib/env/abort @@ -9711,7 +9711,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9728,7 +9728,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 30 i32.const 4 call $~lib/env/abort @@ -9751,7 +9751,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 2 call $~lib/env/abort @@ -9774,7 +9774,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -9793,7 +9793,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 4 call $~lib/env/abort @@ -9810,7 +9810,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 40 i32.const 4 call $~lib/env/abort @@ -9833,7 +9833,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -9848,7 +9848,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 46 i32.const 2 call $~lib/env/abort diff --git a/tests/compiler/std/new.optimized.wat b/tests/compiler/std/new.optimized.wat index 475ff617..b2449798 100644 --- a/tests/compiler/std/new.optimized.wat +++ b/tests/compiler/std/new.optimized.wat @@ -5,7 +5,7 @@ (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\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -76,16 +76,16 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.register (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 48 + i32.const 56 i32.le_u if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -99,8 +99,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -122,7 +122,7 @@ local.get $0 i32.const 8 i32.add - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 1 i32.store @@ -141,7 +141,7 @@ local.get $0 ) (func $start (; 4 ;) (type $FUNCSIG$v) - i32.const 48 + i32.const 56 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/std/new.untouched.wat b/tests/compiler/std/new.untouched.wat index 5f31de79..026b4b6f 100644 --- a/tests/compiler/std/new.untouched.wat +++ b/tests/compiler/std/new.untouched.wat @@ -6,7 +6,7 @@ (type $FUNCSIG$v (func)) (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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/new/AClass.aStaticField (mut i32) (i32.const 0)) @@ -16,7 +16,7 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $std/new/aClass (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 48)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 56)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -116,7 +116,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -132,7 +132,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -141,8 +141,8 @@ if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -158,8 +158,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -175,9 +175,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 diff --git a/tests/compiler/std/object-literal.optimized.wat b/tests/compiler/std/object-literal.optimized.wat index d6c9ef31..a300b711 100644 --- a/tests/compiler/std/object-literal.optimized.wat +++ b/tests/compiler/std/object-literal.optimized.wat @@ -8,10 +8,10 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00\16") (data (i32.const 24) "h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d") - (data (i32.const 48) "\01\00\00\00\1e") - (data (i32.const 64) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 96) "\01\00\00\00*") - (data (i32.const 112) "s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") + (data (i32.const 48) "\01\00\00\00(") + (data (i32.const 64) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 104) "\01\00\00\00*") + (data (i32.const 120) "s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -19,7 +19,7 @@ (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -83,7 +83,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -110,16 +110,16 @@ i32.const 16 i32.add ) - (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 156 + i32.const 164 i32.le_u if i32.const 0 i32.const 64 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -133,8 +133,8 @@ if i32.const 0 i32.const 64 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -229,7 +229,7 @@ i32.ne if i32.const 0 - i32.const 112 + i32.const 120 i32.const 9 i32.const 2 call $~lib/env/abort @@ -241,7 +241,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 10 i32.const 2 call $~lib/env/abort @@ -250,14 +250,14 @@ ) (func $start:std/object-literal (; 7 ;) (type $FUNCSIG$v) (local $0 i32) - i32.const 160 + i32.const 168 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 1 i32.store @@ -267,9 +267,9 @@ local.get $0 call $std/object-literal/bar i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 2 i32.store @@ -279,16 +279,16 @@ i32.ne if i32.const 0 - i32.const 112 + i32.const 120 i32.const 26 i32.const 2 call $~lib/env/abort unreachable end i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 3 i32.store @@ -298,7 +298,7 @@ i32.ne if i32.const 0 - i32.const 112 + i32.const 120 i32.const 21 i32.const 4 call $~lib/env/abort diff --git a/tests/compiler/std/object-literal.untouched.wat b/tests/compiler/std/object-literal.untouched.wat index 8d7a9821..dec68070 100644 --- a/tests/compiler/std/object-literal.untouched.wat +++ b/tests/compiler/std/object-literal.untouched.wat @@ -8,8 +8,8 @@ (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 8) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00") - (data (i32.const 48) "\01\00\00\00\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 96) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00") + (data (i32.const 48) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 104) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -17,11 +17,11 @@ (global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 156)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 164)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -119,7 +119,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -144,7 +144,7 @@ (func $~lib/collector/dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -153,8 +153,8 @@ if i32.const 0 i32.const 64 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -170,8 +170,8 @@ if i32.const 0 i32.const 64 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -295,7 +295,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 9 i32.const 2 call $~lib/env/abort @@ -308,7 +308,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 10 i32.const 2 call $~lib/env/abort @@ -323,7 +323,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 26 i32.const 2 call $~lib/env/abort @@ -338,7 +338,7 @@ i32.eqz if i32.const 0 - i32.const 112 + i32.const 120 i32.const 21 i32.const 4 call $~lib/env/abort @@ -361,9 +361,9 @@ global.set $~lib/allocator/arena/offset block (result i32) i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 local.get $0 i32.const 1 @@ -376,9 +376,9 @@ call $std/object-literal/bar block (result i32) i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $1 local.get $1 i32.const 2 @@ -388,9 +388,9 @@ call $std/object-literal/bar2 block (result i32) i32.const 4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $2 local.get $2 i32.const 3 diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index b8a57313..4a189e5c 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -8,8 +8,8 @@ (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\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 48) "\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 56) "\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -145,7 +145,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 16 call $~lib/allocator/arena/__mem_allocate @@ -159,16 +159,16 @@ i32.const 8 i32.add ) - (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 112 + i32.const 120 i32.le_u if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -182,8 +182,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -194,9 +194,9 @@ ) (func $std/operator-overloading/Tester#constructor (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.get $0 i32.store @@ -1239,9 +1239,9 @@ ) (func $std/operator-overloading/TesterInlineStatic#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.get $0 i32.store @@ -1252,9 +1252,9 @@ ) (func $std/operator-overloading/TesterInlineInstance#constructor (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $2 local.get $0 i32.store @@ -1267,7 +1267,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 112 + i32.const 120 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -1309,7 +1309,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 145 i32.const 0 call $~lib/env/abort @@ -1352,7 +1352,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 151 i32.const 0 call $~lib/env/abort @@ -1396,7 +1396,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 157 i32.const 0 call $~lib/env/abort @@ -1440,7 +1440,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 163 i32.const 0 call $~lib/env/abort @@ -1483,7 +1483,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 169 i32.const 0 call $~lib/env/abort @@ -1517,7 +1517,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 175 i32.const 0 call $~lib/env/abort @@ -1561,7 +1561,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 181 i32.const 0 call $~lib/env/abort @@ -1605,7 +1605,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 187 i32.const 0 call $~lib/env/abort @@ -1649,7 +1649,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 193 i32.const 0 call $~lib/env/abort @@ -1686,7 +1686,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 199 i32.const 0 call $~lib/env/abort @@ -1721,7 +1721,7 @@ global.get $std/operator-overloading/eqf if i32.const 0 - i32.const 56 + i32.const 64 i32.const 205 i32.const 0 call $~lib/env/abort @@ -1748,7 +1748,7 @@ global.get $std/operator-overloading/eq if i32.const 0 - i32.const 56 + i32.const 64 i32.const 209 i32.const 0 call $~lib/env/abort @@ -1777,7 +1777,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 213 i32.const 0 call $~lib/env/abort @@ -1814,7 +1814,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 219 i32.const 0 call $~lib/env/abort @@ -1851,7 +1851,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 225 i32.const 0 call $~lib/env/abort @@ -1888,7 +1888,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 231 i32.const 0 call $~lib/env/abort @@ -1925,7 +1925,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 237 i32.const 0 call $~lib/env/abort @@ -1962,7 +1962,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 242 i32.const 0 call $~lib/env/abort @@ -1999,7 +1999,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 247 i32.const 0 call $~lib/env/abort @@ -2036,7 +2036,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 252 i32.const 0 call $~lib/env/abort @@ -2071,7 +2071,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 257 i32.const 0 call $~lib/env/abort @@ -2114,7 +2114,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 262 i32.const 0 call $~lib/env/abort @@ -2157,7 +2157,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 267 i32.const 0 call $~lib/env/abort @@ -2197,7 +2197,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 272 i32.const 0 call $~lib/env/abort @@ -2208,7 +2208,7 @@ i32.ne if i32.const 0 - i32.const 56 + i32.const 64 i32.const 273 i32.const 0 call $~lib/env/abort @@ -2249,7 +2249,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 279 i32.const 0 call $~lib/env/abort @@ -2285,7 +2285,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 282 i32.const 0 call $~lib/env/abort @@ -2323,7 +2323,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 287 i32.const 0 call $~lib/env/abort @@ -2345,7 +2345,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 288 i32.const 0 call $~lib/env/abort @@ -2380,7 +2380,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 291 i32.const 0 call $~lib/env/abort @@ -2401,7 +2401,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 292 i32.const 0 call $~lib/env/abort @@ -2456,7 +2456,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 312 i32.const 0 call $~lib/env/abort @@ -2511,7 +2511,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 332 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index a92d444b..62a8dbbe 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -8,8 +8,8 @@ (type $FUNCSIG$v (func)) (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~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 48) "\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 8) "\02\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 56) "\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 8)) @@ -84,7 +84,7 @@ (global $std/operator-overloading/aii1 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii2 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 112)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 120)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -184,7 +184,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -200,7 +200,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -209,8 +209,8 @@ if i32.const 0 i32.const 16 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -226,8 +226,8 @@ if i32.const 0 i32.const 16 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -241,9 +241,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1814,9 +1814,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1832,9 +1832,9 @@ i32.eqz if i32.const 8 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1888,7 +1888,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 145 i32.const 0 call $~lib/env/abort @@ -1924,7 +1924,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 151 i32.const 0 call $~lib/env/abort @@ -1960,7 +1960,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 157 i32.const 0 call $~lib/env/abort @@ -1996,7 +1996,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 163 i32.const 0 call $~lib/env/abort @@ -2032,7 +2032,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 169 i32.const 0 call $~lib/env/abort @@ -2068,7 +2068,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 175 i32.const 0 call $~lib/env/abort @@ -2104,7 +2104,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 181 i32.const 0 call $~lib/env/abort @@ -2140,7 +2140,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 187 i32.const 0 call $~lib/env/abort @@ -2176,7 +2176,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 193 i32.const 0 call $~lib/env/abort @@ -2202,7 +2202,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 199 i32.const 0 call $~lib/env/abort @@ -2228,7 +2228,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 205 i32.const 0 call $~lib/env/abort @@ -2244,7 +2244,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 209 i32.const 0 call $~lib/env/abort @@ -2260,7 +2260,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 213 i32.const 0 call $~lib/env/abort @@ -2286,7 +2286,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 219 i32.const 0 call $~lib/env/abort @@ -2312,7 +2312,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 225 i32.const 0 call $~lib/env/abort @@ -2338,7 +2338,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 231 i32.const 0 call $~lib/env/abort @@ -2364,7 +2364,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 237 i32.const 0 call $~lib/env/abort @@ -2395,7 +2395,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 242 i32.const 0 call $~lib/env/abort @@ -2426,7 +2426,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 247 i32.const 0 call $~lib/env/abort @@ -2457,7 +2457,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 252 i32.const 0 call $~lib/env/abort @@ -2489,7 +2489,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 257 i32.const 0 call $~lib/env/abort @@ -2525,7 +2525,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 262 i32.const 0 call $~lib/env/abort @@ -2561,7 +2561,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 267 i32.const 0 call $~lib/env/abort @@ -2591,7 +2591,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 272 i32.const 0 call $~lib/env/abort @@ -2603,7 +2603,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 273 i32.const 0 call $~lib/env/abort @@ -2633,7 +2633,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 279 i32.const 0 call $~lib/env/abort @@ -2658,7 +2658,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 282 i32.const 0 call $~lib/env/abort @@ -2693,7 +2693,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 287 i32.const 0 call $~lib/env/abort @@ -2715,7 +2715,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 288 i32.const 0 call $~lib/env/abort @@ -2745,7 +2745,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 291 i32.const 0 call $~lib/env/abort @@ -2767,7 +2767,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 292 i32.const 0 call $~lib/env/abort @@ -2833,7 +2833,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 312 i32.const 0 call $~lib/env/abort @@ -2899,7 +2899,7 @@ i32.eqz if i32.const 0 - i32.const 56 + i32.const 64 i32.const 332 i32.const 0 call $~lib/env/abort diff --git a/tests/compiler/std/runtime.optimized.wat b/tests/compiler/std/runtime.optimized.wat index e9bcb408..ca3aad57 100644 --- a/tests/compiler/std/runtime.optimized.wat +++ b/tests/compiler/std/runtime.optimized.wat @@ -23,8 +23,6 @@ (data (i32.const 168) "~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s") (data (i32.const 216) "\03\00\00\00(") (data (i32.const 232) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 272) "\03\00\00\00\1e") - (data (i32.const 288) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/runtime/register_ref (mut i32) (i32.const 0)) @@ -45,7 +43,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $std/runtime/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 i32.const 22 @@ -1024,14 +1022,14 @@ if unreachable end - i32.const 320 + i32.const 272 local.set $2 - i32.const 320 + i32.const 272 global.set $~lib/allocator/tlsf/ROOT i32.const 2912 i32.const 0 i32.store - i32.const 320 + i32.const 272 i32.const 0 i32.store i32.const 0 @@ -1041,7 +1039,7 @@ i32.const 22 i32.lt_u if - i32.const 320 + i32.const 272 local.get $1 i32.const 0 call $~lib/allocator/tlsf/Root#setSLMap @@ -1052,7 +1050,7 @@ i32.const 32 i32.lt_u if - i32.const 320 + i32.const 272 local.get $1 local.get $3 i32.const 0 @@ -1071,8 +1069,8 @@ br $repeat|0 end end - i32.const 320 - i32.const 3240 + i32.const 272 + i32.const 3192 current_memory i32.const 16 i32.shl @@ -1168,7 +1166,7 @@ local.get $1 call $~lib/allocator/tlsf/Root#use ) - (func $~lib/runtime/runtime.allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -1649,7 +1647,7 @@ i32.shl i32.const 0 local.get $0 - i32.const 320 + i32.const 272 i32.gt_u select local.get $3 @@ -1687,12 +1685,12 @@ i32.eq if local.get $0 - i32.const 320 + i32.const 272 i32.le_u if i32.const 0 i32.const 232 - i32.const 74 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable @@ -1722,15 +1720,15 @@ i32.store offset=4 local.get $0 ) - (func $~lib/runtime/runtime.discard (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/discard (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 320 + i32.const 272 i32.le_u if i32.const 0 - i32.const 288 - i32.const 68 - i32.const 6 + i32.const 232 + i32.const 114 + i32.const 4 call $~lib/env/abort unreachable end @@ -1743,25 +1741,25 @@ i32.ne if i32.const 0 - i32.const 288 - i32.const 70 - i32.const 6 + i32.const 232 + i32.const 116 + i32.const 4 call $~lib/env/abort unreachable end local.get $0 call $~lib/allocator/tlsf/__mem_free ) - (func $~lib/runtime/runtime.register (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/register (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 - i32.const 320 + i32.const 272 i32.le_u if i32.const 0 - i32.const 288 - i32.const 82 - i32.const 6 + i32.const 232 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -1774,9 +1772,9 @@ i32.ne if i32.const 0 - i32.const 288 - i32.const 84 - i32.const 6 + i32.const 232 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -1826,7 +1824,7 @@ else i32.const 0 i32.const 24 - i32.const 40 + i32.const 52 i32.const 2 call $~lib/env/abort unreachable @@ -1924,7 +1922,7 @@ f64.const 0 call $~lib/env/trace i32.const 1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref1 global.get $std/runtime/ref1 i32.const 16 @@ -1937,7 +1935,7 @@ if i32.const 0 i32.const 24 - i32.const 55 + i32.const 67 i32.const 0 call $~lib/env/abort unreachable @@ -1949,7 +1947,7 @@ if i32.const 0 i32.const 24 - i32.const 56 + i32.const 68 i32.const 0 call $~lib/env/abort unreachable @@ -1963,7 +1961,7 @@ if i32.const 0 i32.const 24 - i32.const 57 + i32.const 69 i32.const 0 call $~lib/env/abort unreachable @@ -1975,7 +1973,7 @@ if i32.const 0 i32.const 24 - i32.const 58 + i32.const 70 i32.const 0 call $~lib/env/abort unreachable @@ -1990,7 +1988,7 @@ if i32.const 0 i32.const 24 - i32.const 60 + i32.const 72 i32.const 0 call $~lib/env/abort unreachable @@ -2006,15 +2004,15 @@ if i32.const 0 i32.const 24 - i32.const 62 + i32.const 74 i32.const 0 call $~lib/env/abort unreachable end global.get $std/runtime/ref2 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard global.get $std/runtime/barrier2 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref3 global.get $std/runtime/ref1 global.get $std/runtime/ref3 @@ -2022,23 +2020,23 @@ if i32.const 0 i32.const 24 - i32.const 65 + i32.const 77 i32.const 0 call $~lib/env/abort unreachable end global.get $std/runtime/barrier1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref4 global.get $std/runtime/ref4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register global.get $std/runtime/register_ref global.get $std/runtime/ref4 i32.ne if i32.const 0 i32.const 24 - i32.const 69 + i32.const 81 i32.const 0 call $~lib/env/abort unreachable @@ -2054,7 +2052,7 @@ if i32.const 0 i32.const 24 - i32.const 71 + i32.const 83 i32.const 0 call $~lib/env/abort unreachable @@ -2066,13 +2064,13 @@ if i32.const 0 i32.const 24 - i32.const 72 + i32.const 84 i32.const 0 call $~lib/env/abort unreachable end i32.const 10 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref5 global.get $std/runtime/ref5 i32.const 16 @@ -2083,7 +2081,7 @@ if i32.const 0 i32.const 24 - i32.const 75 + i32.const 87 i32.const 0 call $~lib/env/abort unreachable @@ -2099,7 +2097,7 @@ if i32.const 0 i32.const 24 - i32.const 76 + i32.const 88 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/runtime.ts b/tests/compiler/std/runtime.ts index d495d4aa..77d330f0 100644 --- a/tests/compiler/std/runtime.ts +++ b/tests/compiler/std/runtime.ts @@ -1,30 +1,42 @@ import "allocator/tlsf"; -import { HEADER, HEADER_SIZE, HEADER_MAGIC, adjust, reallocate } from "util/runtime"; +import { HEADER, HEADER_SIZE, HEADER_MAGIC, adjust, allocate, reallocate, discard, register } from "util/runtime"; import { runtime, __runtime_id } from "runtime"; -@start export function main(): void {} +// @ts-ignore: decorator +@start +export function main(): void {} var register_ref: usize = 0; -@global function __ref_register(ref: usize): void { +// @ts-ignore: decorator +@global +function __ref_register(ref: usize): void { register_ref = ref; } var link_ref: usize = 0; var link_parentRef: usize = 0; -@global function __ref_link(ref: usize, parentRef: usize): void { +// @ts-ignore: decorator +@global +function __ref_link(ref: usize, parentRef: usize): void { link_ref = ref; link_parentRef = parentRef; } -@global function __ref_unlink(ref: usize, parentRef: usize): void { +// @ts-ignore: decorator +@global +function __ref_unlink(ref: usize, parentRef: usize): void { } -@global function __ref_collect(): void { +// @ts-ignore: decorator +@global +function __ref_collect(): void { } -@global function __ref_mark(ref: usize): void { +// @ts-ignore: decorator +@global +function __ref_mark(ref: usize): void { } class A {} @@ -50,7 +62,7 @@ trace("barrier1", 1, barrier1); trace("barrier2", 1, barrier2); trace("barrier3", 1, barrier3); -var ref1 = runtime.allocate(1); +var ref1 = allocate(1); var header1 = changetype
(ref1 - HEADER_SIZE); assert(header1.classId == HEADER_MAGIC); assert(header1.payloadSize == 1); @@ -60,17 +72,17 @@ var ref2 = reallocate(ref1, barrier2); assert(ref1 != ref2); // moves var header2 = changetype
(ref2 - HEADER_SIZE); assert(header2.payloadSize == barrier2); -runtime.discard(ref2); -var ref3 = runtime.allocate(barrier2); +discard(ref2); +var ref3 = allocate(barrier2); assert(ref1 == ref3); // reuses space of ref1 (free'd in realloc), ref2 (explicitly free'd) -var ref4 = runtime.allocate(barrier1); -runtime.register(ref4, __runtime_id()); // should call __gc_register +var ref4 = allocate(barrier1); +register(ref4, __runtime_id()); // should call __gc_register assert(register_ref == ref4); var header4 = changetype
(register_ref - HEADER_SIZE); assert(header4.classId == __runtime_id()); assert(header4.payloadSize == barrier1); -var ref5 = runtime.allocate(10); +var ref5 = allocate(10); assert(changetype(ref5).byteLength == 10); assert(changetype(ref5).length == 5); diff --git a/tests/compiler/std/runtime.untouched.wat b/tests/compiler/std/runtime.untouched.wat index 1c8ecfde..70f30eee 100644 --- a/tests/compiler/std/runtime.untouched.wat +++ b/tests/compiler/std/runtime.untouched.wat @@ -17,7 +17,6 @@ (data (i32.const 120) "\03\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\003\00") (data (i32.const 152) "\03\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00") (data (i32.const 216) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 272) "\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/runtime/register_ref (mut i32) (i32.const 0)) @@ -55,12 +54,12 @@ (global $std/runtime/header4 (mut i32) (i32.const 0)) (global $std/runtime/ref5 (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 320)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 272)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) (export "main" (func $std/runtime/main)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (func $~lib/util/runtime/adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 @@ -1456,7 +1455,7 @@ call $~lib/allocator/tlsf/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -2066,7 +2065,7 @@ if i32.const 0 i32.const 232 - i32.const 74 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable @@ -2099,7 +2098,7 @@ i32.store offset=4 local.get $0 ) - (func $~lib/runtime/runtime.discard (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/discard (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -2107,9 +2106,9 @@ i32.eqz if i32.const 0 - i32.const 288 - i32.const 68 - i32.const 6 + i32.const 232 + i32.const 114 + i32.const 4 call $~lib/env/abort unreachable end @@ -2124,16 +2123,16 @@ i32.eqz if i32.const 0 - i32.const 288 - i32.const 70 - i32.const 6 + i32.const 232 + i32.const 116 + i32.const 4 call $~lib/env/abort unreachable end local.get $1 call $~lib/memory/memory.free ) - (func $~lib/runtime/runtime.register (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -2141,9 +2140,9 @@ i32.eqz if i32.const 0 - i32.const 288 - i32.const 82 - i32.const 6 + i32.const 232 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -2158,9 +2157,9 @@ i32.eqz if i32.const 0 - i32.const 288 - i32.const 84 - i32.const 6 + i32.const 232 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -2194,7 +2193,7 @@ if i32.const 0 i32.const 24 - i32.const 32 + i32.const 44 i32.const 0 call $~lib/env/abort unreachable @@ -2207,7 +2206,7 @@ if i32.const 0 i32.const 24 - i32.const 38 + i32.const 50 i32.const 0 call $~lib/env/abort unreachable @@ -2228,7 +2227,7 @@ if i32.const 0 i32.const 24 - i32.const 40 + i32.const 52 i32.const 2 call $~lib/env/abort unreachable @@ -2317,7 +2316,7 @@ f64.const 0 call $~lib/env/trace i32.const 1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref1 global.get $std/runtime/ref1 global.get $~lib/util/runtime/HEADER_SIZE @@ -2331,7 +2330,7 @@ if i32.const 0 i32.const 24 - i32.const 55 + i32.const 67 i32.const 0 call $~lib/env/abort unreachable @@ -2344,7 +2343,7 @@ if i32.const 0 i32.const 24 - i32.const 56 + i32.const 68 i32.const 0 call $~lib/env/abort unreachable @@ -2358,7 +2357,7 @@ if i32.const 0 i32.const 24 - i32.const 57 + i32.const 69 i32.const 0 call $~lib/env/abort unreachable @@ -2371,7 +2370,7 @@ if i32.const 0 i32.const 24 - i32.const 58 + i32.const 70 i32.const 0 call $~lib/env/abort unreachable @@ -2387,7 +2386,7 @@ if i32.const 0 i32.const 24 - i32.const 60 + i32.const 72 i32.const 0 call $~lib/env/abort unreachable @@ -2404,15 +2403,15 @@ if i32.const 0 i32.const 24 - i32.const 62 + i32.const 74 i32.const 0 call $~lib/env/abort unreachable end global.get $std/runtime/ref2 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard global.get $std/runtime/barrier2 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref3 global.get $std/runtime/ref1 global.get $std/runtime/ref3 @@ -2421,17 +2420,17 @@ if i32.const 0 i32.const 24 - i32.const 65 + i32.const 77 i32.const 0 call $~lib/env/abort unreachable end global.get $std/runtime/barrier1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref4 global.get $std/runtime/ref4 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register drop global.get $std/runtime/register_ref global.get $std/runtime/ref4 @@ -2440,7 +2439,7 @@ if i32.const 0 i32.const 24 - i32.const 69 + i32.const 81 i32.const 0 call $~lib/env/abort unreachable @@ -2457,7 +2456,7 @@ if i32.const 0 i32.const 24 - i32.const 71 + i32.const 83 i32.const 0 call $~lib/env/abort unreachable @@ -2470,13 +2469,13 @@ if i32.const 0 i32.const 24 - i32.const 72 + i32.const 84 i32.const 0 call $~lib/env/abort unreachable end i32.const 10 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate global.set $std/runtime/ref5 global.get $std/runtime/ref5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength @@ -2486,7 +2485,7 @@ if i32.const 0 i32.const 24 - i32.const 75 + i32.const 87 i32.const 0 call $~lib/env/abort unreachable @@ -2499,7 +2498,7 @@ if i32.const 0 i32.const 24 - i32.const 76 + i32.const 88 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index 1a50750b..1342b31d 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -19,12 +19,12 @@ (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 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 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 128) "s\00t\00d\00/\00s\00e\00t\00.\00t\00s") + (data (i32.const 8) "\02\00\00\00(") + (data (i32.const 24) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 64) "\02\00\00\00&") + (data (i32.const 80) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 120) "\02\00\00\00\14") + (data (i32.const 136) "s\00t\00d\00/\00s\00e\00t\00.\00t\00s") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -32,7 +32,7 @@ (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -96,7 +96,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -123,16 +123,16 @@ i32.const 16 i32.add ) - (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 148 + i32.const 156 i32.le_u if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -146,8 +146,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -374,20 +374,20 @@ i32.gt_u if i32.const 0 - i32.const 72 + i32.const 80 i32.const 54 i32.const 43 call $~lib/env/abort unreachable end local.get $0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 local.get $0 call $~lib/memory/memory.fill local.get $1 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/set/Set#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) @@ -427,9 +427,9 @@ (func $~lib/set/Set#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -793,7 +793,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -813,7 +813,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -828,7 +828,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -847,7 +847,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -867,7 +867,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -882,7 +882,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -901,7 +901,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -915,7 +915,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -936,7 +936,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -954,7 +954,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -969,7 +969,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -983,7 +983,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -1004,7 +1004,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -1016,7 +1016,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -1026,9 +1026,9 @@ (func $~lib/set/Set#constructor (; 14 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -1341,7 +1341,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -1361,7 +1361,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -1376,7 +1376,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -1395,7 +1395,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -1415,7 +1415,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -1430,7 +1430,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -1449,7 +1449,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -1463,7 +1463,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -1484,7 +1484,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -1502,7 +1502,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -1517,7 +1517,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -1531,7 +1531,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -1552,7 +1552,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -1564,7 +1564,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -1574,9 +1574,9 @@ (func $~lib/set/Set#constructor (; 20 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -1976,7 +1976,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -1996,7 +1996,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -2011,7 +2011,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -2030,7 +2030,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -2050,7 +2050,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -2065,7 +2065,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -2084,7 +2084,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -2098,7 +2098,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -2119,7 +2119,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -2137,7 +2137,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -2152,7 +2152,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -2166,7 +2166,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -2187,7 +2187,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -2199,7 +2199,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -2209,9 +2209,9 @@ (func $~lib/set/Set#constructor (; 27 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -2560,7 +2560,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -2580,7 +2580,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -2595,7 +2595,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -2614,7 +2614,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -2634,7 +2634,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -2649,7 +2649,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -2668,7 +2668,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -2682,7 +2682,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -2703,7 +2703,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -2721,7 +2721,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -2736,7 +2736,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -2750,7 +2750,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -2771,7 +2771,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -2783,7 +2783,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -2793,9 +2793,9 @@ (func $~lib/set/Set#constructor (; 33 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -3162,7 +3162,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -3182,7 +3182,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -3197,7 +3197,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -3216,7 +3216,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -3236,7 +3236,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -3251,7 +3251,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -3270,7 +3270,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -3284,7 +3284,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -3305,7 +3305,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -3323,7 +3323,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -3338,7 +3338,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -3352,7 +3352,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -3373,7 +3373,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -3385,7 +3385,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -3395,9 +3395,9 @@ (func $~lib/set/Set#constructor (; 41 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -3435,7 +3435,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -3455,7 +3455,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -3470,7 +3470,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -3489,7 +3489,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -3509,7 +3509,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -3524,7 +3524,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -3543,7 +3543,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -3557,7 +3557,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -3578,7 +3578,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -3596,7 +3596,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -3611,7 +3611,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -3625,7 +3625,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -3646,7 +3646,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -3658,7 +3658,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -3703,9 +3703,9 @@ (func $~lib/set/Set#constructor (; 44 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -4108,7 +4108,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -4128,7 +4128,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -4143,7 +4143,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -4162,7 +4162,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -4182,7 +4182,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -4197,7 +4197,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -4216,7 +4216,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -4230,7 +4230,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -4251,7 +4251,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -4269,7 +4269,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -4284,7 +4284,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -4298,7 +4298,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -4319,7 +4319,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -4331,7 +4331,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -4341,9 +4341,9 @@ (func $~lib/set/Set#constructor (; 52 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -4381,7 +4381,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -4401,7 +4401,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -4416,7 +4416,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -4435,7 +4435,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -4455,7 +4455,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -4470,7 +4470,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -4489,7 +4489,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -4503,7 +4503,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -4524,7 +4524,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -4542,7 +4542,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -4557,7 +4557,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -4571,7 +4571,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -4592,7 +4592,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -4604,7 +4604,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -4614,9 +4614,9 @@ (func $~lib/set/Set#constructor (; 54 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -4957,7 +4957,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -4977,7 +4977,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -4992,7 +4992,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -5011,7 +5011,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -5031,7 +5031,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -5046,7 +5046,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -5065,7 +5065,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -5079,7 +5079,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -5100,7 +5100,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -5118,7 +5118,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -5133,7 +5133,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -5147,7 +5147,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -5168,7 +5168,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -5180,7 +5180,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -5190,9 +5190,9 @@ (func $~lib/set/Set#constructor (; 61 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -5533,7 +5533,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -5553,7 +5553,7 @@ br $repeat|0 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -5568,7 +5568,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -5587,7 +5587,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -5607,7 +5607,7 @@ br $repeat|1 else i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -5622,7 +5622,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -5641,7 +5641,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -5655,7 +5655,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -5676,7 +5676,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -5694,7 +5694,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -5709,7 +5709,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -5723,7 +5723,7 @@ call $~lib/set/Set#has if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -5744,7 +5744,7 @@ i32.ne if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -5756,7 +5756,7 @@ i32.load offset=20 if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -5764,7 +5764,7 @@ end ) (func $start (; 68 ;) (type $FUNCSIG$v) - i32.const 152 + i32.const 160 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset diff --git a/tests/compiler/std/set.untouched.wat b/tests/compiler/std/set.untouched.wat index 44675ba2..3031b857 100644 --- a/tests/compiler/std/set.untouched.wat +++ b/tests/compiler/std/set.untouched.wat @@ -19,9 +19,9 @@ (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") + (data (i32.const 8) "\02\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 64) "\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 120) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) @@ -30,11 +30,11 @@ (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) (global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 148)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 156)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -132,7 +132,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -157,7 +157,7 @@ (func $~lib/collector/dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -166,8 +166,8 @@ if i32.const 0 i32.const 24 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -183,8 +183,8 @@ if i32.const 0 i32.const 24 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -459,14 +459,14 @@ i32.gt_u if i32.const 0 - i32.const 72 + i32.const 80 i32.const 54 i32.const 43 call $~lib/env/abort unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -474,7 +474,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop @@ -557,9 +557,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1042,7 +1042,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -1057,7 +1057,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -1080,7 +1080,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -1102,7 +1102,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -1117,7 +1117,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -1140,7 +1140,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -1162,7 +1162,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -1179,7 +1179,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -1202,7 +1202,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -1225,7 +1225,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -1240,7 +1240,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -1257,7 +1257,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -1280,7 +1280,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -1295,7 +1295,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -1377,9 +1377,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1847,7 +1847,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -1862,7 +1862,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -1885,7 +1885,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -1907,7 +1907,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -1922,7 +1922,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -1945,7 +1945,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -1967,7 +1967,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -1984,7 +1984,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -2007,7 +2007,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -2030,7 +2030,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -2045,7 +2045,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -2062,7 +2062,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -2085,7 +2085,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -2100,7 +2100,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -2182,9 +2182,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -2682,7 +2682,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -2697,7 +2697,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -2720,7 +2720,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -2742,7 +2742,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -2757,7 +2757,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -2780,7 +2780,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -2802,7 +2802,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -2819,7 +2819,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -2842,7 +2842,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -2865,7 +2865,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -2880,7 +2880,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -2897,7 +2897,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -2920,7 +2920,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -2935,7 +2935,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -3017,9 +3017,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -3487,7 +3487,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -3502,7 +3502,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -3525,7 +3525,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -3547,7 +3547,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -3562,7 +3562,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -3585,7 +3585,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -3607,7 +3607,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -3624,7 +3624,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -3647,7 +3647,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -3670,7 +3670,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -3685,7 +3685,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -3702,7 +3702,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -3725,7 +3725,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -3740,7 +3740,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -3822,9 +3822,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -4326,7 +4326,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -4341,7 +4341,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -4364,7 +4364,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -4386,7 +4386,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -4401,7 +4401,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -4424,7 +4424,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -4446,7 +4446,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -4463,7 +4463,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -4486,7 +4486,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -4509,7 +4509,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -4524,7 +4524,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -4541,7 +4541,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -4564,7 +4564,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -4579,7 +4579,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -4661,9 +4661,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -5123,7 +5123,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -5138,7 +5138,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -5161,7 +5161,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -5183,7 +5183,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -5198,7 +5198,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -5221,7 +5221,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -5243,7 +5243,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -5260,7 +5260,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -5283,7 +5283,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -5306,7 +5306,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -5321,7 +5321,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -5338,7 +5338,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -5361,7 +5361,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -5376,7 +5376,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -5458,9 +5458,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -6011,7 +6011,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -6026,7 +6026,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -6049,7 +6049,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -6071,7 +6071,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -6086,7 +6086,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -6109,7 +6109,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -6131,7 +6131,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -6148,7 +6148,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -6171,7 +6171,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -6194,7 +6194,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -6209,7 +6209,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -6226,7 +6226,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -6249,7 +6249,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -6264,7 +6264,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -6346,9 +6346,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -6811,7 +6811,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -6826,7 +6826,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -6849,7 +6849,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -6871,7 +6871,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -6886,7 +6886,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -6909,7 +6909,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -6931,7 +6931,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -6948,7 +6948,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -6971,7 +6971,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -6994,7 +6994,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -7009,7 +7009,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -7026,7 +7026,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -7049,7 +7049,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -7064,7 +7064,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -7146,9 +7146,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -7615,7 +7615,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -7630,7 +7630,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -7653,7 +7653,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -7675,7 +7675,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -7690,7 +7690,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -7713,7 +7713,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -7735,7 +7735,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -7752,7 +7752,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -7775,7 +7775,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -7798,7 +7798,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -7813,7 +7813,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -7830,7 +7830,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -7853,7 +7853,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -7868,7 +7868,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort @@ -7950,9 +7950,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -8419,7 +8419,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 8 i32.const 4 call $~lib/env/abort @@ -8434,7 +8434,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 10 i32.const 4 call $~lib/env/abort @@ -8457,7 +8457,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 12 i32.const 2 call $~lib/env/abort @@ -8479,7 +8479,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 16 i32.const 4 call $~lib/env/abort @@ -8494,7 +8494,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 18 i32.const 4 call $~lib/env/abort @@ -8517,7 +8517,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 20 i32.const 2 call $~lib/env/abort @@ -8539,7 +8539,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 24 i32.const 4 call $~lib/env/abort @@ -8556,7 +8556,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 26 i32.const 4 call $~lib/env/abort @@ -8579,7 +8579,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 28 i32.const 2 call $~lib/env/abort @@ -8602,7 +8602,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 32 i32.const 4 call $~lib/env/abort @@ -8617,7 +8617,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 34 i32.const 4 call $~lib/env/abort @@ -8634,7 +8634,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 36 i32.const 4 call $~lib/env/abort @@ -8657,7 +8657,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 38 i32.const 2 call $~lib/env/abort @@ -8672,7 +8672,7 @@ i32.eqz if i32.const 0 - i32.const 128 + i32.const 136 i32.const 42 i32.const 2 call $~lib/env/abort diff --git a/tests/compiler/std/static-array.optimized.wat b/tests/compiler/std/static-array.optimized.wat index 415f3070..63c3e410 100644 --- a/tests/compiler/std/static-array.optimized.wat +++ b/tests/compiler/std/static-array.optimized.wat @@ -567,7 +567,7 @@ if i32.const 0 i32.const 280 - i32.const 74 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/static-array.untouched.wat b/tests/compiler/std/static-array.untouched.wat index 83fe3114..e8745b30 100644 --- a/tests/compiler/std/static-array.untouched.wat +++ b/tests/compiler/std/static-array.untouched.wat @@ -705,7 +705,7 @@ if i32.const 0 i32.const 280 - i32.const 74 + i32.const 88 i32.const 8 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/string-utf8.optimized.wat b/tests/compiler/std/string-utf8.optimized.wat index 90532e1a..531e1b69 100644 --- a/tests/compiler/std/string-utf8.optimized.wat +++ b/tests/compiler/std/string-utf8.optimized.wat @@ -11,11 +11,11 @@ (data (i32.const 32) "\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s") (data (i32.const 80) "\01") (data (i32.const 88) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 128) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 168) "\01\00\00\00\04\00\00\00\01\d87\dc") - (data (i32.const 184) "\01\00\00\00\04\00\00\00h\00i") - (data (i32.const 200) "\01\00\00\00\04\00\00\00R\d8b\df") - (data (i32.const 216) "\01\00\00\00\02") + (data (i32.const 128) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 176) "\01\00\00\00\04\00\00\00\01\d87\dc") + (data (i32.const 192) "\01\00\00\00\04\00\00\00h\00i") + (data (i32.const 208) "\01\00\00\00\04\00\00\00R\d8b\df") + (data (i32.const 224) "\01\00\00\00\02") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/string-utf8/str (mut i32) (i32.const 16)) @@ -394,7 +394,7 @@ i32.store8 local.get $5 ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -586,16 +586,16 @@ end end ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 - i32.const 228 + i32.const 236 i32.le_u if i32.const 0 i32.const 136 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -609,8 +609,8 @@ if i32.const 0 i32.const 136 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -681,7 +681,7 @@ if i32.const 0 i32.const 96 - i32.const 455 + i32.const 461 i32.const 8 call $~lib/env/abort unreachable @@ -728,7 +728,7 @@ if i32.const 0 i32.const 96 - i32.const 459 + i32.const 465 i32.const 8 call $~lib/env/abort unreachable @@ -807,7 +807,7 @@ if i32.const 0 i32.const 96 - i32.const 471 + i32.const 477 i32.const 8 call $~lib/env/abort unreachable @@ -862,19 +862,19 @@ if i32.const 0 i32.const 96 - i32.const 480 + i32.const 486 i32.const 4 call $~lib/env/abort unreachable end local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $0 local.get $6 local.get $5 call $~lib/memory/memory.copy local.get $0 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/string/compareImpl (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -970,7 +970,7 @@ call $~lib/env/abort unreachable end - i32.const 232 + i32.const 240 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -1140,7 +1140,7 @@ global.get $std/string-utf8/ptr i32.const 4 call $~lib/string/String.fromUTF8 - i32.const 176 + i32.const 184 call $~lib/string/String.__eq i32.eqz if @@ -1156,7 +1156,7 @@ i32.add i32.const 2 call $~lib/string/String.fromUTF8 - i32.const 192 + i32.const 200 call $~lib/string/String.__eq i32.eqz if @@ -1172,7 +1172,7 @@ i32.add i32.const 4 call $~lib/string/String.fromUTF8 - i32.const 208 + i32.const 216 call $~lib/string/String.__eq i32.eqz if @@ -1188,7 +1188,7 @@ i32.add i32.const 1 call $~lib/string/String.fromUTF8 - i32.const 224 + i32.const 232 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/string-utf8.untouched.wat b/tests/compiler/std/string-utf8.untouched.wat index 4d61e9f9..3766bf10 100644 --- a/tests/compiler/std/string-utf8.untouched.wat +++ b/tests/compiler/std/string-utf8.untouched.wat @@ -12,11 +12,11 @@ (data (i32.const 32) "\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00u\00t\00f\008\00.\00t\00s\00") (data (i32.const 80) "\01\00\00\00\00\00\00\00") (data (i32.const 88) "\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 128) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 168) "\01\00\00\00\04\00\00\00\01\d87\dc") - (data (i32.const 184) "\01\00\00\00\04\00\00\00h\00i\00") - (data (i32.const 200) "\01\00\00\00\04\00\00\00R\d8b\df") - (data (i32.const 216) "\01\00\00\00\02\00\00\00\00\00") + (data (i32.const 128) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 176) "\01\00\00\00\04\00\00\00\01\d87\dc") + (data (i32.const 192) "\01\00\00\00\04\00\00\00h\00i\00") + (data (i32.const 208) "\01\00\00\00\04\00\00\00R\d8b\df") + (data (i32.const 224) "\01\00\00\00\02\00\00\00\00\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $std/string-utf8/str (mut i32) (i32.const 16)) @@ -27,7 +27,7 @@ (global $std/string-utf8/ptr (mut i32) (i32.const 0)) (global $~lib/util/runtime/HEADER_MAGIC i32 (i32.const -1520547049)) (global $~lib/ASC_NO_ASSERT i32 (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 228)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 236)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -465,7 +465,7 @@ i32.sub i32.shl ) - (func $~lib/runtime/runtime.allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -697,7 +697,7 @@ local.get $0 call $~lib/allocator/arena/__mem_free ) - (func $~lib/runtime/runtime.register (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -706,8 +706,8 @@ if i32.const 0 i32.const 136 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -723,8 +723,8 @@ if i32.const 0 i32.const 136 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -810,7 +810,7 @@ if i32.const 0 i32.const 96 - i32.const 455 + i32.const 461 i32.const 8 call $~lib/env/abort unreachable @@ -864,7 +864,7 @@ if i32.const 0 i32.const 96 - i32.const 459 + i32.const 465 i32.const 8 call $~lib/env/abort unreachable @@ -959,7 +959,7 @@ if i32.const 0 i32.const 96 - i32.const 471 + i32.const 477 i32.const 8 call $~lib/env/abort unreachable @@ -1022,13 +1022,13 @@ if i32.const 0 i32.const 96 - i32.const 480 + i32.const 486 i32.const 4 call $~lib/env/abort unreachable end local.get $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $7 local.get $3 @@ -1038,7 +1038,7 @@ call $~lib/memory/memory.free local.get $7 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/string/compareImpl (; 13 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) @@ -1342,7 +1342,7 @@ global.get $std/string-utf8/ptr i32.const 4 call $~lib/string/String.fromUTF8 - i32.const 176 + i32.const 184 call $~lib/string/String.__eq i32.eqz if @@ -1358,7 +1358,7 @@ i32.add i32.const 2 call $~lib/string/String.fromUTF8 - i32.const 192 + i32.const 200 call $~lib/string/String.__eq i32.eqz if @@ -1374,7 +1374,7 @@ i32.add i32.const 4 call $~lib/string/String.fromUTF8 - i32.const 208 + i32.const 216 call $~lib/string/String.__eq i32.eqz if @@ -1390,7 +1390,7 @@ i32.add i32.const 1 call $~lib/string/String.fromUTF8 - i32.const 224 + i32.const 232 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 08a56244..5bcf94de 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -25,308 +25,306 @@ (data (i32.const 120) "\01\00\00\00\02") (data (i32.const 144) "\01\00\00\00\02") (data (i32.const 160) "a") - (data (i32.const 168) "\01\00\00\00\1e") - (data (i32.const 184) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 216) "\01\00\00\00\02") - (data (i32.const 232) "6") - (data (i32.const 240) "\01\00\00\00\1c") - (data (i32.const 256) "~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 288) "\01\00\00\00\04") - (data (i32.const 304) "4\d8\06\df") - (data (i32.const 312) "\01\00\00\00\04") - (data (i32.const 328) "h\00i") - (data (i32.const 336) "\01\00\00\00\08") - (data (i32.const 352) "n\00u\00l\00l") - (data (i32.const 360) "\01\00\00\00\0c") - (data (i32.const 376) "s\00t\00r\00i\00n\00g") - (data (i32.const 392) "\01\00\00\00\06") - (data (i32.const 408) "I\00\'\00m") - (data (i32.const 416) "\01\00\00\00\02") - (data (i32.const 432) " ") - (data (i32.const 440) "\01\00\00\00\06") - (data (i32.const 456) " \00 \00 ") - (data (i32.const 464) "\01\00\00\00\06") - (data (i32.const 480) "a\00b\00c") - (data (i32.const 488) "\01\00\00\00\n") - (data (i32.const 504) " \00 \00a\00b\00c") - (data (i32.const 520) "\01\00\00\00\06") - (data (i32.const 536) "1\002\003") - (data (i32.const 544) "\01\00\00\00\0c") - (data (i32.const 560) "1\002\003\00a\00b\00c") - (data (i32.const 576) "\01\00\00\00\10") - (data (i32.const 592) "1\002\003\001\002\00a\00b\00c") - (data (i32.const 608) "\01\00\00\00\n") - (data (i32.const 624) "a\00b\00c\00 \00 ") - (data (i32.const 640) "\01\00\00\00\0c") - (data (i32.const 656) "a\00b\00c\00a\00b\00c") - (data (i32.const 672) "\01\00\00\00\10") - (data (i32.const 688) "a\00b\00c\00a\00b\00c\00a\00b") - (data (i32.const 704) "\01\00\00\00\02") - (data (i32.const 720) ",") - (data (i32.const 728) "\01\00\00\00\02") - (data (i32.const 744) "x") - (data (i32.const 752) "\01\00\00\00\06") - (data (i32.const 768) ",\00 \00I") - (data (i32.const 776) "\01\00\00\00\02") - (data (i32.const 792) "g") - (data (i32.const 800) "\01\00\00\00\02") - (data (i32.const 816) "i") - (data (i32.const 824) "\01\00\00\00\02") - (data (i32.const 840) "0") - (data (i32.const 848) "\01\00\00\00\02") - (data (i32.const 864) "1") - (data (i32.const 872) "\01\00\00\00\n") - (data (i32.const 888) "0\00b\001\000\001") - (data (i32.const 904) "\01\00\00\00\n") - (data (i32.const 920) "0\00o\007\000\007") - (data (i32.const 936) "\01\00\00\00\n") - (data (i32.const 952) "0\00x\00f\000\00f") - (data (i32.const 968) "\01\00\00\00\n") - (data (i32.const 984) "0\00x\00F\000\00F") - (data (i32.const 1000) "\01\00\00\00\06") - (data (i32.const 1016) "0\001\001") - (data (i32.const 1024) "\01\00\00\00\08") - (data (i32.const 1040) "0\00x\001\00g") - (data (i32.const 1048) "\01\00\00\00\06") - (data (i32.const 1064) "0\00.\001") - (data (i32.const 1072) "\01\00\00\00\06") - (data (i32.const 1088) ".\002\005") - (data (i32.const 1096) "\01\00\00\00\10") - (data (i32.const 1112) ".\001\00f\00o\00o\00b\00a\00r") - (data (i32.const 1128) "\01\00\00\00\02") - (data (i32.const 1144) "b") - (data (i32.const 1152) "\01\00\00\00\04") - (data (i32.const 1168) "a\00b") - (data (i32.const 1176) "\01\00\00\00\08") - (data (i32.const 1192) "k\00e\00y\001") - (data (i32.const 1200) "\01\00\00\00\08") - (data (i32.const 1216) "k\00e\00y\002") - (data (i32.const 1224) "\01\00\00\00\06") - (data (i32.const 1240) "k\00e\001") - (data (i32.const 1248) "\01\00\00\00\06") - (data (i32.const 1264) "k\00e\002") - (data (i32.const 1272) "\01\00\00\00\n") - (data (i32.const 1288) "k\00e\00y\001\002") - (data (i32.const 1304) "\01\00\00\00\n") - (data (i32.const 1320) "k\00e\00y\001\001") - (data (i32.const 1336) "\01\00\00\00\0e") - (data (i32.const 1352) "\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1368) "\01\00\00\00\0e") - (data (i32.const 1384) "\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1400) "\01\00\00\00\16") - (data (i32.const 1416) "D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 1440) "\01\00\00\00\14") - (data (i32.const 1456) "D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 1480) "\01\00\00\00\04") - (data (i32.const 1496) "b\00a") - (data (i32.const 1504) "\01\00\00\00\04") - (data (i32.const 1520) "a\00a") - (data (i32.const 1528) "\01\00\00\00\06") - (data (i32.const 1544) "a\00a\00a") - (data (i32.const 1552) "\01\00\00\00\10") - (data (i32.const 1568) "a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 1584) "\01\00\00\00\n") - (data (i32.const 1600) "a\00a\00a\00a\00a") - (data (i32.const 1616) "\01\00\00\00\0c") - (data (i32.const 1632) "a\00a\00a\00a\00a\00a") - (data (i32.const 1648) "\01\00\00\00\0e") - (data (i32.const 1664) "a\00a\00a\00a\00a\00a\00a") - (data (i32.const 1680) "\01\00\00\00\1c") - (data (i32.const 1696) "a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 1728) "\01\00\00\00\02") - (data (i32.const 1744) "n") - (data (i32.const 1752) "\01\00\00\00\n") - (data (i32.const 1768) "j\00k\00l\00m\00n") - (data (i32.const 1784) "\01\00\00\00\n") - (data (i32.const 1800) "c\00d\00e\00f\00g") - (data (i32.const 1816) "\01\00\00\00\n") - (data (i32.const 1832) "d\00e\00f\00g\00h") - (data (i32.const 1848) "\01\00\00\00\1a") - (data (i32.const 1864) "a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 1896) "\01\00\00\00\1a") - (data (i32.const 1912) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1944) "\01\00\00\00(") - (data (i32.const 1960) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 2000) "\01\00\00\00\n") - (data (i32.const 2016) "a\00,\00b\00,\00c") - (data (i32.const 2032) "\01\00\00\00\02") - (data (i32.const 2048) ".") - (data (i32.const 2056) "\01\00\00\00\02") - (data (i32.const 2072) "c") - (data (i32.const 2080) "\01\00\00\00\0e") - (data (i32.const 2096) "a\00,\00 \00b\00,\00 \00c") - (data (i32.const 2112) "\01\00\00\00\04") - (data (i32.const 2128) ",\00 ") - (data (i32.const 2136) "\01\00\00\00\0c") - (data (i32.const 2152) "a\00,\00b\00,\00,\00c") - (data (i32.const 2168) "\01\00\00\00\0c") - (data (i32.const 2184) ",\00a\00,\00b\00,\00c") - (data (i32.const 2200) "\01\00\00\00\0c") - (data (i32.const 2216) "a\00,\00b\00,\00c\00,") - (data (i32.const 2232) "\03\00\00\00\90\01") - (data (i32.const 2248) "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 2648) "\04\00\00\00\10") - (data (i32.const 2664) "\c8\08\00\00\c8\08\00\00\90\01\00\00d") - (data (i32.const 2680) "\01\00\00\00\02") - (data (i32.const 2696) "8") - (data (i32.const 2704) "\01\00\00\00\n") - (data (i32.const 2720) "-\001\000\000\000") - (data (i32.const 2736) "\01\00\00\00\08") - (data (i32.const 2752) "1\002\003\004") - (data (i32.const 2760) "\01\00\00\00\n") - (data (i32.const 2776) "1\002\003\004\005") - (data (i32.const 2792) "\01\00\00\00\0c") - (data (i32.const 2808) "1\002\003\004\005\006") - (data (i32.const 2824) "\01\00\00\00\0e") - (data (i32.const 2840) "1\001\001\001\001\001\001") - (data (i32.const 2856) "\01\00\00\00\0e") - (data (i32.const 2872) "1\002\003\004\005\006\007") - (data (i32.const 2888) "\01\00\00\00\14") - (data (i32.const 2904) "2\001\004\007\004\008\003\006\004\006") - (data (i32.const 2928) "\01\00\00\00\14") - (data (i32.const 2944) "2\001\004\007\004\008\003\006\004\007") - (data (i32.const 2968) "\01\00\00\00\16") - (data (i32.const 2984) "-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 3008) "\01\00\00\00\04") - (data (i32.const 3024) "-\001") - (data (i32.const 3032) "\01\00\00\00\08") - (data (i32.const 3048) "1\000\000\000") - (data (i32.const 3056) "\01\00\00\00\14") - (data (i32.const 3072) "2\001\004\007\004\008\003\006\004\008") - (data (i32.const 3096) "\01\00\00\00\14") - (data (i32.const 3112) "4\002\009\004\009\006\007\002\009\005") - (data (i32.const 3136) "\01\00\00\00\10") - (data (i32.const 3152) "9\009\009\009\009\009\009\009") - (data (i32.const 3168) "\01\00\00\00\12") - (data (i32.const 3184) "1\000\000\000\000\000\000\000\000") - (data (i32.const 3208) "\01\00\00\00\16") - (data (i32.const 3224) "6\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3248) "\01\00\00\00\18") - (data (i32.const 3264) "8\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3288) "\01\00\00\00\1e") - (data (i32.const 3304) "9\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3336) "\01\00\00\00 ") - (data (i32.const 3352) "9\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3384) "\01\00\00\00\"") - (data (i32.const 3400) "1\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3440) "\01\00\00\00(") - (data (i32.const 3456) "1\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") - (data (i32.const 3496) "\01\00\00\00\n") - (data (i32.const 3512) "-\001\002\003\004") - (data (i32.const 3528) "\01\00\00\00\16") - (data (i32.const 3544) "-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 3568) "\01\00\00\00\18") - (data (i32.const 3584) "-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3608) "\01\00\00\00\1a") - (data (i32.const 3624) "-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3656) "\01\00\00\00 ") - (data (i32.const 3672) "-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3704) "\01\00\00\00$") - (data (i32.const 3720) "-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 3760) "\01\00\00\00&") - (data (i32.const 3776) "9\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 3816) "\01\00\00\00(") - (data (i32.const 3832) "-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") - (data (i32.const 3872) "\01\00\00\00\06") - (data (i32.const 3888) "0\00.\000") - (data (i32.const 3896) "\01\00\00\00\06") - (data (i32.const 3912) "N\00a\00N") - (data (i32.const 3920) "\01\00\00\00\12") - (data (i32.const 3936) "-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3960) "\01\00\00\00\10") - (data (i32.const 3976) "I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3992) "\03\00\00\00\b8\02") - (data (i32.const 4008) "\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#push else local.get $2 @@ -2701,7 +2699,7 @@ i32.const 1 i32.shl local.tee $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $3 local.get $4 i32.const 1 @@ -2713,7 +2711,7 @@ local.get $2 local.get $3 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register call $~lib/array/Array<~lib/string/String>#push else local.get $2 @@ -2729,7 +2727,7 @@ i32.ge_u if i32.const 0 - i32.const 1912 + i32.const 1920 i32.const 96 i32.const 45 call $~lib/env/abort @@ -2743,7 +2741,7 @@ i32.ge_u if i32.const 0 - i32.const 1912 + i32.const 1920 i32.const 99 i32.const 61 call $~lib/env/abort @@ -2814,7 +2812,7 @@ (func $~lib/util/number/utoa32_lut (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 2668 + i32.const 2620 i32.load local.set $3 loop $continue|0 @@ -2928,7 +2926,7 @@ local.get $0 i32.eqz if - i32.const 840 + i32.const 848 return end local.get $0 @@ -2948,7 +2946,7 @@ local.tee $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $3 @@ -2961,7 +2959,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/utoa32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -2969,7 +2967,7 @@ local.get $0 i32.eqz if - i32.const 840 + i32.const 848 return end local.get $0 @@ -2977,14 +2975,14 @@ local.tee $1 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $1 call $~lib/util/number/utoa32_lut local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount64 (; 38 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) local.get $0 @@ -3045,7 +3043,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 2668 + i32.const 2620 i32.load local.set $3 loop $continue|0 @@ -3144,7 +3142,7 @@ local.get $0 i64.eqz if - i32.const 840 + i32.const 848 return end local.get $0 @@ -3158,7 +3156,7 @@ local.tee $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $1 local.get $3 @@ -3169,7 +3167,7 @@ local.tee $1 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $1 @@ -3177,7 +3175,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa64 (; 41 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) @@ -3187,7 +3185,7 @@ local.get $0 i64.eqz if - i32.const 840 + i32.const 848 return end block (result i32) @@ -3215,7 +3213,7 @@ local.tee $4 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $3 local.get $2 local.get $4 @@ -3228,7 +3226,7 @@ local.tee $2 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $3 local.get $0 local.get $2 @@ -3242,7 +3240,7 @@ end local.get $3 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/genDigits (; 42 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) @@ -3279,7 +3277,7 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 5036 + i32.const 4988 i32.load local.set $13 loop $continue|0 @@ -4034,7 +4032,7 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 4724 + i32.const 4676 i32.load local.get $3 i32.const 3 @@ -4042,7 +4040,7 @@ i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 4948 + i32.const 4900 i32.load local.get $3 i32.const 1 @@ -4214,8 +4212,8 @@ i32.eqz if i32.const 0 - i32.const 256 - i32.const 197 + i32.const 264 + i32.const 203 i32.const 4 call $~lib/env/abort unreachable @@ -4291,7 +4289,7 @@ return end local.get $3 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 local.get $0 local.get $2 @@ -4300,17 +4298,17 @@ call $~lib/memory/memory.copy local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) - (func $~lib/runtime/runtime.discard (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/discard (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 - i32.const 6792 + i32.const 6744 i32.le_u if i32.const 0 i32.const 184 - i32.const 68 - i32.const 6 + i32.const 114 + i32.const 4 call $~lib/env/abort unreachable end @@ -4323,8 +4321,8 @@ if i32.const 0 i32.const 184 - i32.const 70 - i32.const 6 + i32.const 116 + i32.const 4 call $~lib/env/abort unreachable end @@ -4336,7 +4334,7 @@ f64.const 0 f64.eq if - i32.const 3888 + i32.const 3840 return end local.get $0 @@ -4349,11 +4347,11 @@ local.get $0 f64.ne if - i32.const 3912 + i32.const 3864 return end - i32.const 3936 - i32.const 3976 + i32.const 3888 + i32.const 3928 local.get $0 f64.const 0 f64.lt @@ -4361,7 +4359,7 @@ return end i32.const 56 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 call $~lib/util/number/dtoa_core @@ -4371,7 +4369,7 @@ call $~lib/string/String#substring local.set $1 local.get $2 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $1 ) (func $start:std/string (; 48 ;) (type $FUNCSIG$v) @@ -4473,7 +4471,7 @@ call $~lib/env/abort unreachable end - i32.const 6792 + i32.const 6744 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -4492,7 +4490,7 @@ end i32.const 54 call $~lib/string/String.fromCharCode - i32.const 232 + i32.const 240 call $~lib/string/String.__eq i32.eqz if @@ -4505,7 +4503,7 @@ end i32.const 65590 call $~lib/string/String.fromCharCode - i32.const 232 + i32.const 240 call $~lib/string/String.__eq i32.eqz if @@ -4531,7 +4529,7 @@ end i32.const 54 call $~lib/string/String.fromCodePoint - i32.const 232 + i32.const 240 call $~lib/string/String.__eq i32.eqz if @@ -4546,7 +4544,7 @@ call $~lib/string/String.fromCodePoint i32.eqz if - i32.const 304 + i32.const 312 i32.const 72 i32.const 32 i32.const 0 @@ -4576,7 +4574,7 @@ unreachable end global.get $std/string/str - i32.const 408 + i32.const 416 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -4591,7 +4589,7 @@ end global.get $std/string/str i32.const 0 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart global.get $std/string/str call $~lib/string/String.__eq @@ -4606,7 +4604,7 @@ end global.get $std/string/str i32.const 15 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart global.get $std/string/str call $~lib/string/String.__eq @@ -4621,9 +4619,9 @@ end i32.const 120 i32.const 3 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart - i32.const 456 + i32.const 464 call $~lib/string/String.__eq i32.eqz if @@ -4664,11 +4662,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 5 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart - i32.const 504 + i32.const 512 call $~lib/string/String.__eq i32.eqz if @@ -4679,11 +4677,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 6 - i32.const 536 + i32.const 544 call $~lib/string/String#padStart - i32.const 560 + i32.const 568 call $~lib/string/String.__eq i32.eqz if @@ -4694,11 +4692,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 8 - i32.const 536 + i32.const 544 call $~lib/string/String#padStart - i32.const 592 + i32.const 600 call $~lib/string/String.__eq i32.eqz if @@ -4711,7 +4709,7 @@ end global.get $std/string/str i32.const 0 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd global.get $std/string/str call $~lib/string/String.__eq @@ -4726,7 +4724,7 @@ end global.get $std/string/str i32.const 15 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd global.get $std/string/str call $~lib/string/String.__eq @@ -4741,9 +4739,9 @@ end i32.const 120 i32.const 3 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd - i32.const 456 + i32.const 464 call $~lib/string/String.__eq i32.eqz if @@ -4784,11 +4782,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 5 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd - i32.const 624 + i32.const 632 call $~lib/string/String.__eq i32.eqz if @@ -4799,11 +4797,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 6 - i32.const 480 + i32.const 488 call $~lib/string/String#padEnd - i32.const 656 + i32.const 664 call $~lib/string/String.__eq i32.eqz if @@ -4814,11 +4812,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 8 - i32.const 480 + i32.const 488 call $~lib/string/String#padEnd - i32.const 688 + i32.const 696 call $~lib/string/String.__eq i32.eqz if @@ -4842,7 +4840,7 @@ unreachable end i32.const 120 - i32.const 328 + i32.const 336 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -4893,7 +4891,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 0 call $~lib/string/String#indexOf i32.const 2 @@ -4907,7 +4905,7 @@ unreachable end global.get $std/string/str - i32.const 744 + i32.const 752 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -4921,7 +4919,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 2 call $~lib/string/String#indexOf i32.const 2 @@ -4935,7 +4933,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 3 call $~lib/string/String#indexOf i32.const -1 @@ -4949,7 +4947,7 @@ unreachable end global.get $std/string/str - i32.const 768 + i32.const 776 i32.const -1 call $~lib/string/String#indexOf i32.const 2 @@ -4975,7 +4973,7 @@ unreachable end i32.const 120 - i32.const 328 + i32.const 336 i32.const 2147483647 call $~lib/string/String#lastIndexOf i32.const -1 @@ -5008,7 +5006,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 2147483647 call $~lib/string/String#lastIndexOf i32.const 2 @@ -5022,7 +5020,7 @@ unreachable end global.get $std/string/str - i32.const 744 + i32.const 752 i32.const 2147483647 call $~lib/string/String#lastIndexOf i32.const -1 @@ -5036,7 +5034,7 @@ unreachable end global.get $std/string/str - i32.const 792 + i32.const 800 i32.const 2147483647 call $~lib/string/String#lastIndexOf i32.const 15 @@ -5050,7 +5048,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 2 call $~lib/string/String#lastIndexOf i32.const 2 @@ -5064,7 +5062,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 3 call $~lib/string/String#lastIndexOf i32.const 2 @@ -5078,7 +5076,7 @@ unreachable end global.get $std/string/str - i32.const 768 + i32.const 776 i32.const -1 call $~lib/string/String#lastIndexOf i32.const -1 @@ -5092,7 +5090,7 @@ unreachable end global.get $std/string/str - i32.const 816 + i32.const 824 i32.const 0 call $~lib/string/String#lastIndexOf i32.const -1 @@ -5106,7 +5104,7 @@ unreachable end global.get $std/string/str - i32.const 328 + i32.const 336 i32.const 0 call $~lib/string/String#lastIndexOf if @@ -5117,7 +5115,7 @@ call $~lib/env/abort unreachable end - i32.const 840 + i32.const 848 call $~lib/util/string/parse f64.const 0 f64.ne @@ -5129,7 +5127,7 @@ call $~lib/env/abort unreachable end - i32.const 864 + i32.const 872 call $~lib/util/string/parse f64.const 1 f64.ne @@ -5141,7 +5139,7 @@ call $~lib/env/abort unreachable end - i32.const 888 + i32.const 896 call $~lib/util/string/parse f64.const 5 f64.ne @@ -5153,7 +5151,7 @@ call $~lib/env/abort unreachable end - i32.const 920 + i32.const 928 call $~lib/util/string/parse f64.const 455 f64.ne @@ -5165,7 +5163,7 @@ call $~lib/env/abort unreachable end - i32.const 952 + i32.const 960 call $~lib/util/string/parse f64.const 3855 f64.ne @@ -5177,7 +5175,7 @@ call $~lib/env/abort unreachable end - i32.const 984 + i32.const 992 call $~lib/util/string/parse f64.const 3855 f64.ne @@ -5189,7 +5187,7 @@ call $~lib/env/abort unreachable end - i32.const 1016 + i32.const 1024 call $~lib/util/string/parse f64.const 11 f64.ne @@ -5201,7 +5199,7 @@ call $~lib/env/abort unreachable end - i32.const 1040 + i32.const 1048 call $~lib/util/string/parse f64.const 1 f64.ne @@ -5213,7 +5211,7 @@ call $~lib/env/abort unreachable end - i32.const 840 + i32.const 848 call $~lib/string/parseFloat f64.const 0 f64.ne @@ -5225,7 +5223,7 @@ call $~lib/env/abort unreachable end - i32.const 864 + i32.const 872 call $~lib/string/parseFloat f64.const 1 f64.ne @@ -5237,7 +5235,7 @@ call $~lib/env/abort unreachable end - i32.const 1064 + i32.const 1072 call $~lib/string/parseFloat f64.const 0.1 f64.ne @@ -5249,7 +5247,7 @@ call $~lib/env/abort unreachable end - i32.const 1088 + i32.const 1096 call $~lib/string/parseFloat f64.const 0.25 f64.ne @@ -5261,7 +5259,7 @@ call $~lib/env/abort unreachable end - i32.const 1112 + i32.const 1120 call $~lib/string/parseFloat f64.const 0.1 f64.ne @@ -5274,11 +5272,11 @@ unreachable end i32.const 160 - i32.const 1144 + i32.const 1152 call $~lib/string/String.__concat global.set $std/string/c global.get $std/string/c - i32.const 1168 + i32.const 1176 call $~lib/string/String.__eq i32.eqz if @@ -5338,7 +5336,7 @@ unreachable end i32.const 160 - i32.const 1144 + i32.const 1152 call $~lib/string/String.__ne i32.eqz if @@ -5361,8 +5359,8 @@ call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 1216 + i32.const 1200 + i32.const 1224 call $~lib/string/String.__ne i32.eqz if @@ -5373,8 +5371,8 @@ call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 1192 + i32.const 1200 + i32.const 1200 call $~lib/string/String.__eq i32.eqz if @@ -5385,8 +5383,8 @@ call $~lib/env/abort unreachable end - i32.const 1240 - i32.const 1264 + i32.const 1248 + i32.const 1272 call $~lib/string/String.__ne i32.eqz if @@ -5397,8 +5395,8 @@ call $~lib/env/abort unreachable end - i32.const 1288 - i32.const 1320 + i32.const 1296 + i32.const 1328 call $~lib/string/String.__ne i32.eqz if @@ -5409,8 +5407,8 @@ call $~lib/env/abort unreachable end - i32.const 1352 - i32.const 1352 + i32.const 1360 + i32.const 1360 call $~lib/string/String.__eq i32.eqz if @@ -5421,8 +5419,8 @@ call $~lib/env/abort unreachable end - i32.const 1352 - i32.const 1384 + i32.const 1360 + i32.const 1392 call $~lib/string/String.__ne i32.eqz if @@ -5433,8 +5431,8 @@ call $~lib/env/abort unreachable end - i32.const 1416 - i32.const 1456 + i32.const 1424 + i32.const 1464 call $~lib/string/String.__ne i32.eqz if @@ -5445,7 +5443,7 @@ call $~lib/env/abort unreachable end - i32.const 1144 + i32.const 1152 i32.const 160 call $~lib/string/String.__gt i32.eqz @@ -5457,7 +5455,7 @@ call $~lib/env/abort unreachable end - i32.const 1496 + i32.const 1504 i32.const 160 call $~lib/string/String.__gt i32.eqz @@ -5469,8 +5467,8 @@ call $~lib/env/abort unreachable end - i32.const 1496 - i32.const 1520 + i32.const 1504 + i32.const 1528 call $~lib/string/String.__gte i32.eqz if @@ -5481,8 +5479,8 @@ call $~lib/env/abort unreachable end - i32.const 1496 - i32.const 1168 + i32.const 1504 + i32.const 1176 call $~lib/string/String.__gt i32.eqz if @@ -5493,8 +5491,8 @@ call $~lib/env/abort unreachable end - i32.const 1496 - i32.const 1168 + i32.const 1504 + i32.const 1176 call $~lib/string/String.__lt if i32.const 0 @@ -5504,7 +5502,7 @@ call $~lib/env/abort unreachable end - i32.const 1144 + i32.const 1152 global.get $std/string/nullStr call $~lib/string/String.__lt if @@ -5516,7 +5514,7 @@ unreachable end global.get $std/string/nullStr - i32.const 1144 + i32.const 1152 call $~lib/string/String.__lt if i32.const 0 @@ -5526,7 +5524,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 call $~lib/string/String.__gt i32.eqz @@ -5539,7 +5537,7 @@ unreachable end i32.const 120 - i32.const 480 + i32.const 488 call $~lib/string/String.__lt i32.eqz if @@ -5550,7 +5548,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 call $~lib/string/String.__gte i32.eqz @@ -5562,7 +5560,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 call $~lib/string/String.__lte i32.eqz if @@ -5573,7 +5571,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 call $~lib/string/String.__lt if @@ -5585,7 +5583,7 @@ unreachable end i32.const 120 - i32.const 480 + i32.const 488 call $~lib/string/String.__gt if i32.const 0 @@ -5661,7 +5659,7 @@ call $~lib/env/abort unreachable end - i32.const 524 + i32.const 532 i32.load i32.const 1 i32.shr_u @@ -5720,7 +5718,7 @@ i32.const 160 i32.const 2 call $~lib/string/String#repeat - i32.const 1520 + i32.const 1528 call $~lib/string/String.__eq i32.eqz if @@ -5734,7 +5732,7 @@ i32.const 160 i32.const 3 call $~lib/string/String#repeat - i32.const 1544 + i32.const 1552 call $~lib/string/String.__eq i32.eqz if @@ -5745,10 +5743,10 @@ call $~lib/env/abort unreachable end - i32.const 1168 + i32.const 1176 i32.const 4 call $~lib/string/String#repeat - i32.const 1568 + i32.const 1576 call $~lib/string/String.__eq i32.eqz if @@ -5762,7 +5760,7 @@ i32.const 160 i32.const 5 call $~lib/string/String#repeat - i32.const 1600 + i32.const 1608 call $~lib/string/String.__eq i32.eqz if @@ -5776,7 +5774,7 @@ i32.const 160 i32.const 6 call $~lib/string/String#repeat - i32.const 1632 + i32.const 1640 call $~lib/string/String.__eq i32.eqz if @@ -5790,7 +5788,7 @@ i32.const 160 i32.const 7 call $~lib/string/String#repeat - i32.const 1664 + i32.const 1672 call $~lib/string/String.__eq i32.eqz if @@ -5801,13 +5799,13 @@ call $~lib/env/abort unreachable end - i32.const 1696 + i32.const 1704 global.set $std/string/str global.get $std/string/str i32.const 0 i32.const 2147483647 call $~lib/string/String#slice - i32.const 1696 + i32.const 1704 call $~lib/string/String.__eq i32.eqz if @@ -5822,7 +5820,7 @@ i32.const -1 i32.const 2147483647 call $~lib/string/String#slice - i32.const 1744 + i32.const 1752 call $~lib/string/String.__eq i32.eqz if @@ -5837,7 +5835,7 @@ i32.const -5 i32.const 2147483647 call $~lib/string/String#slice - i32.const 1768 + i32.const 1776 call $~lib/string/String.__eq i32.eqz if @@ -5852,7 +5850,7 @@ i32.const 2 i32.const 7 call $~lib/string/String#slice - i32.const 1800 + i32.const 1808 call $~lib/string/String.__eq i32.eqz if @@ -5867,7 +5865,7 @@ i32.const -11 i32.const -6 call $~lib/string/String#slice - i32.const 1832 + i32.const 1840 call $~lib/string/String.__eq i32.eqz if @@ -5897,7 +5895,7 @@ i32.const 0 i32.const -1 call $~lib/string/String#slice - i32.const 1864 + i32.const 1872 call $~lib/string/String.__eq i32.eqz if @@ -5952,7 +5950,7 @@ unreachable end i32.const 120 - i32.const 720 + i32.const 728 i32.const 2147483647 call $~lib/string/String#split global.set $std/string/sa @@ -5979,8 +5977,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 2048 + i32.const 1968 + i32.const 2000 i32.const 2147483647 call $~lib/string/String#split global.set $std/string/sa @@ -5993,7 +5991,7 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2016 + i32.const 1968 call $~lib/string/String.__eq local.set $0 end @@ -6007,8 +6005,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 720 + i32.const 1968 + i32.const 728 i32.const 2147483647 call $~lib/string/String#split global.set $std/string/sa @@ -6033,7 +6031,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6043,7 +6041,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6057,8 +6055,8 @@ call $~lib/env/abort unreachable end - i32.const 2096 - i32.const 2128 + i32.const 2048 + i32.const 2080 i32.const 2147483647 call $~lib/string/String#split global.set $std/string/sa @@ -6083,7 +6081,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6093,7 +6091,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6107,8 +6105,8 @@ call $~lib/env/abort unreachable end - i32.const 2152 - i32.const 720 + i32.const 2104 + i32.const 728 i32.const 2147483647 call $~lib/string/String#split global.set $std/string/sa @@ -6134,7 +6132,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6154,7 +6152,7 @@ global.get $std/string/sa i32.const 3 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6168,8 +6166,8 @@ call $~lib/env/abort unreachable end - i32.const 2184 - i32.const 720 + i32.const 2136 + i32.const 728 i32.const 2147483647 call $~lib/string/String#split global.set $std/string/sa @@ -6205,7 +6203,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6215,7 +6213,7 @@ global.get $std/string/sa i32.const 3 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6229,8 +6227,8 @@ call $~lib/env/abort unreachable end - i32.const 2216 - i32.const 720 + i32.const 2168 + i32.const 728 i32.const 2147483647 call $~lib/string/String#split global.set $std/string/sa @@ -6256,7 +6254,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6266,7 +6264,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6290,7 +6288,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const 2147483647 call $~lib/string/String#split @@ -6316,7 +6314,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6326,7 +6324,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6340,7 +6338,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const 0 call $~lib/string/String#split @@ -6355,7 +6353,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const 1 call $~lib/string/String#split @@ -6383,8 +6381,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 720 + i32.const 1968 + i32.const 728 i32.const 1 call $~lib/string/String#split global.set $std/string/sa @@ -6411,7 +6409,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const 4 call $~lib/string/String#split @@ -6437,7 +6435,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6447,7 +6445,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6461,7 +6459,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const -1 call $~lib/string/String#split @@ -6487,7 +6485,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6497,7 +6495,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6511,8 +6509,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 720 + i32.const 1968 + i32.const 728 i32.const -1 call $~lib/string/String#split global.set $std/string/sa @@ -6537,7 +6535,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq local.set $0 end @@ -6547,7 +6545,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq local.set $0 end @@ -6563,7 +6561,7 @@ end i32.const 0 call $~lib/util/number/itoa32 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -6576,7 +6574,7 @@ end i32.const 1 call $~lib/util/number/itoa32 - i32.const 864 + i32.const 872 call $~lib/string/String.__eq i32.eqz if @@ -6589,7 +6587,7 @@ end i32.const 8 call $~lib/util/number/itoa32 - i32.const 2696 + i32.const 2648 call $~lib/string/String.__eq i32.eqz if @@ -6602,7 +6600,7 @@ end i32.const 123 call $~lib/util/number/itoa32 - i32.const 536 + i32.const 544 call $~lib/string/String.__eq i32.eqz if @@ -6615,7 +6613,7 @@ end i32.const -1000 call $~lib/util/number/itoa32 - i32.const 2720 + i32.const 2672 call $~lib/string/String.__eq i32.eqz if @@ -6628,7 +6626,7 @@ end i32.const 1234 call $~lib/util/number/itoa32 - i32.const 2752 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if @@ -6641,7 +6639,7 @@ end i32.const 12345 call $~lib/util/number/itoa32 - i32.const 2776 + i32.const 2728 call $~lib/string/String.__eq i32.eqz if @@ -6654,7 +6652,7 @@ end i32.const 123456 call $~lib/util/number/itoa32 - i32.const 2808 + i32.const 2760 call $~lib/string/String.__eq i32.eqz if @@ -6667,7 +6665,7 @@ end i32.const 1111111 call $~lib/util/number/itoa32 - i32.const 2840 + i32.const 2792 call $~lib/string/String.__eq i32.eqz if @@ -6680,7 +6678,7 @@ end i32.const 1234567 call $~lib/util/number/itoa32 - i32.const 2872 + i32.const 2824 call $~lib/string/String.__eq i32.eqz if @@ -6693,7 +6691,7 @@ end i32.const 2147483646 call $~lib/util/number/itoa32 - i32.const 2904 + i32.const 2856 call $~lib/string/String.__eq i32.eqz if @@ -6706,7 +6704,7 @@ end i32.const 2147483647 call $~lib/util/number/itoa32 - i32.const 2944 + i32.const 2896 call $~lib/string/String.__eq i32.eqz if @@ -6719,7 +6717,7 @@ end i32.const -2147483648 call $~lib/util/number/itoa32 - i32.const 2984 + i32.const 2936 call $~lib/string/String.__eq i32.eqz if @@ -6732,7 +6730,7 @@ end i32.const -1 call $~lib/util/number/itoa32 - i32.const 3024 + i32.const 2976 call $~lib/string/String.__eq i32.eqz if @@ -6745,7 +6743,7 @@ end i32.const 0 call $~lib/util/number/utoa32 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -6758,7 +6756,7 @@ end i32.const 1000 call $~lib/util/number/utoa32 - i32.const 3048 + i32.const 3000 call $~lib/string/String.__eq i32.eqz if @@ -6771,7 +6769,7 @@ end i32.const 2147483647 call $~lib/util/number/utoa32 - i32.const 2944 + i32.const 2896 call $~lib/string/String.__eq i32.eqz if @@ -6784,7 +6782,7 @@ end i32.const -2147483648 call $~lib/util/number/utoa32 - i32.const 3072 + i32.const 3024 call $~lib/string/String.__eq i32.eqz if @@ -6797,7 +6795,7 @@ end i32.const -1 call $~lib/util/number/utoa32 - i32.const 3112 + i32.const 3064 call $~lib/string/String.__eq i32.eqz if @@ -6810,7 +6808,7 @@ end i64.const 0 call $~lib/util/number/utoa64 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -6823,7 +6821,7 @@ end i64.const 1234 call $~lib/util/number/utoa64 - i32.const 2752 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if @@ -6836,7 +6834,7 @@ end i64.const 99999999 call $~lib/util/number/utoa64 - i32.const 3152 + i32.const 3104 call $~lib/string/String.__eq i32.eqz if @@ -6849,7 +6847,7 @@ end i64.const 100000000 call $~lib/util/number/utoa64 - i32.const 3184 + i32.const 3136 call $~lib/string/String.__eq i32.eqz if @@ -6862,7 +6860,7 @@ end i64.const 4294967295 call $~lib/util/number/utoa64 - i32.const 3112 + i32.const 3064 call $~lib/string/String.__eq i32.eqz if @@ -6875,7 +6873,7 @@ end i64.const 68719476735 call $~lib/util/number/utoa64 - i32.const 3224 + i32.const 3176 call $~lib/string/String.__eq i32.eqz if @@ -6888,7 +6886,7 @@ end i64.const 868719476735 call $~lib/util/number/utoa64 - i32.const 3264 + i32.const 3216 call $~lib/string/String.__eq i32.eqz if @@ -6901,7 +6899,7 @@ end i64.const 999868719476735 call $~lib/util/number/utoa64 - i32.const 3304 + i32.const 3256 call $~lib/string/String.__eq i32.eqz if @@ -6914,7 +6912,7 @@ end i64.const 9999868719476735 call $~lib/util/number/utoa64 - i32.const 3352 + i32.const 3304 call $~lib/string/String.__eq i32.eqz if @@ -6927,7 +6925,7 @@ end i64.const 19999868719476735 call $~lib/util/number/utoa64 - i32.const 3400 + i32.const 3352 call $~lib/string/String.__eq i32.eqz if @@ -6940,7 +6938,7 @@ end i64.const -1 call $~lib/util/number/utoa64 - i32.const 3456 + i32.const 3408 call $~lib/string/String.__eq i32.eqz if @@ -6953,7 +6951,7 @@ end i64.const 0 call $~lib/util/number/itoa64 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -6966,7 +6964,7 @@ end i64.const -1234 call $~lib/util/number/itoa64 - i32.const 3512 + i32.const 3464 call $~lib/string/String.__eq i32.eqz if @@ -6979,7 +6977,7 @@ end i64.const 4294967295 call $~lib/util/number/itoa64 - i32.const 3112 + i32.const 3064 call $~lib/string/String.__eq i32.eqz if @@ -6992,7 +6990,7 @@ end i64.const -4294967295 call $~lib/util/number/itoa64 - i32.const 3544 + i32.const 3496 call $~lib/string/String.__eq i32.eqz if @@ -7005,7 +7003,7 @@ end i64.const 68719476735 call $~lib/util/number/itoa64 - i32.const 3224 + i32.const 3176 call $~lib/string/String.__eq i32.eqz if @@ -7018,7 +7016,7 @@ end i64.const -68719476735 call $~lib/util/number/itoa64 - i32.const 3584 + i32.const 3536 call $~lib/string/String.__eq i32.eqz if @@ -7031,7 +7029,7 @@ end i64.const -868719476735 call $~lib/util/number/itoa64 - i32.const 3624 + i32.const 3576 call $~lib/string/String.__eq i32.eqz if @@ -7044,7 +7042,7 @@ end i64.const -999868719476735 call $~lib/util/number/itoa64 - i32.const 3672 + i32.const 3624 call $~lib/string/String.__eq i32.eqz if @@ -7057,7 +7055,7 @@ end i64.const -19999868719476735 call $~lib/util/number/itoa64 - i32.const 3720 + i32.const 3672 call $~lib/string/String.__eq i32.eqz if @@ -7070,7 +7068,7 @@ end i64.const 9223372036854775807 call $~lib/util/number/itoa64 - i32.const 3776 + i32.const 3728 call $~lib/string/String.__eq i32.eqz if @@ -7083,7 +7081,7 @@ end i64.const -9223372036854775808 call $~lib/util/number/itoa64 - i32.const 3832 + i32.const 3784 call $~lib/string/String.__eq i32.eqz if @@ -7096,7 +7094,7 @@ end f64.const 0 call $~lib/util/number/dtoa - i32.const 3888 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if @@ -7109,7 +7107,7 @@ end f64.const -0 call $~lib/util/number/dtoa - i32.const 3888 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if @@ -7122,7 +7120,7 @@ end f64.const nan:0x8000000000000 call $~lib/util/number/dtoa - i32.const 3912 + i32.const 3864 call $~lib/string/String.__eq i32.eqz if @@ -7135,7 +7133,7 @@ end f64.const inf call $~lib/util/number/dtoa - i32.const 3976 + i32.const 3928 call $~lib/string/String.__eq i32.eqz if @@ -7148,7 +7146,7 @@ end f64.const -inf call $~lib/util/number/dtoa - i32.const 3936 + i32.const 3888 call $~lib/string/String.__eq i32.eqz if @@ -7161,7 +7159,7 @@ end f64.const 2.220446049250313e-16 call $~lib/util/number/dtoa - i32.const 5064 + i32.const 5016 call $~lib/string/String.__eq i32.eqz if @@ -7174,7 +7172,7 @@ end f64.const -2.220446049250313e-16 call $~lib/util/number/dtoa - i32.const 5128 + i32.const 5080 call $~lib/string/String.__eq i32.eqz if @@ -7187,7 +7185,7 @@ end f64.const 1797693134862315708145274e284 call $~lib/util/number/dtoa - i32.const 5192 + i32.const 5144 call $~lib/string/String.__eq i32.eqz if @@ -7200,7 +7198,7 @@ end f64.const -1797693134862315708145274e284 call $~lib/util/number/dtoa - i32.const 5256 + i32.const 5208 call $~lib/string/String.__eq i32.eqz if @@ -7213,7 +7211,7 @@ end f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa - i32.const 5320 + i32.const 5272 call $~lib/string/String.__eq i32.eqz if @@ -7226,7 +7224,7 @@ end f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa - i32.const 5384 + i32.const 5336 call $~lib/string/String.__eq i32.eqz if @@ -7239,7 +7237,7 @@ end f64.const 4.940656e-318 call $~lib/util/number/dtoa - i32.const 5448 + i32.const 5400 call $~lib/string/String.__eq i32.eqz if @@ -7252,7 +7250,7 @@ end f64.const 9060801153433600 call $~lib/util/number/dtoa - i32.const 5496 + i32.const 5448 call $~lib/string/String.__eq i32.eqz if @@ -7265,7 +7263,7 @@ end f64.const 4708356024711512064 call $~lib/util/number/dtoa - i32.const 5552 + i32.const 5504 call $~lib/string/String.__eq i32.eqz if @@ -7278,7 +7276,7 @@ end f64.const 9409340012568248320 call $~lib/util/number/dtoa - i32.const 5616 + i32.const 5568 call $~lib/string/String.__eq i32.eqz if @@ -7291,7 +7289,7 @@ end f64.const 5e-324 call $~lib/util/number/dtoa - i32.const 5680 + i32.const 5632 call $~lib/string/String.__eq i32.eqz if @@ -7304,7 +7302,7 @@ end f64.const 1 call $~lib/util/number/dtoa - i32.const 5712 + i32.const 5664 call $~lib/string/String.__eq i32.eqz if @@ -7317,7 +7315,7 @@ end f64.const 0.1 call $~lib/util/number/dtoa - i32.const 1064 + i32.const 1072 call $~lib/string/String.__eq i32.eqz if @@ -7330,7 +7328,7 @@ end f64.const -1 call $~lib/util/number/dtoa - i32.const 5736 + i32.const 5688 call $~lib/string/String.__eq i32.eqz if @@ -7343,7 +7341,7 @@ end f64.const -0.1 call $~lib/util/number/dtoa - i32.const 5760 + i32.const 5712 call $~lib/string/String.__eq i32.eqz if @@ -7356,7 +7354,7 @@ end f64.const 1e6 call $~lib/util/number/dtoa - i32.const 5784 + i32.const 5736 call $~lib/string/String.__eq i32.eqz if @@ -7369,7 +7367,7 @@ end f64.const 1e-06 call $~lib/util/number/dtoa - i32.const 5824 + i32.const 5776 call $~lib/string/String.__eq i32.eqz if @@ -7382,7 +7380,7 @@ end f64.const -1e6 call $~lib/util/number/dtoa - i32.const 5856 + i32.const 5808 call $~lib/string/String.__eq i32.eqz if @@ -7395,7 +7393,7 @@ end f64.const -1e-06 call $~lib/util/number/dtoa - i32.const 5896 + i32.const 5848 call $~lib/string/String.__eq i32.eqz if @@ -7408,7 +7406,7 @@ end f64.const 1e7 call $~lib/util/number/dtoa - i32.const 5936 + i32.const 5888 call $~lib/string/String.__eq i32.eqz if @@ -7421,7 +7419,7 @@ end f64.const 1e-07 call $~lib/util/number/dtoa - i32.const 5976 + i32.const 5928 call $~lib/string/String.__eq i32.eqz if @@ -7434,7 +7432,7 @@ end f64.const 1.e+308 call $~lib/util/number/dtoa - i32.const 6000 + i32.const 5952 call $~lib/string/String.__eq i32.eqz if @@ -7447,7 +7445,7 @@ end f64.const -1.e+308 call $~lib/util/number/dtoa - i32.const 6032 + i32.const 5984 call $~lib/string/String.__eq i32.eqz if @@ -7460,7 +7458,7 @@ end f64.const inf call $~lib/util/number/dtoa - i32.const 3976 + i32.const 3928 call $~lib/string/String.__eq i32.eqz if @@ -7473,7 +7471,7 @@ end f64.const -inf call $~lib/util/number/dtoa - i32.const 3936 + i32.const 3888 call $~lib/string/String.__eq i32.eqz if @@ -7486,7 +7484,7 @@ end f64.const 1e-308 call $~lib/util/number/dtoa - i32.const 6064 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if @@ -7499,7 +7497,7 @@ end f64.const -1e-308 call $~lib/util/number/dtoa - i32.const 6096 + i32.const 6048 call $~lib/string/String.__eq i32.eqz if @@ -7512,7 +7510,7 @@ end f64.const 1e-323 call $~lib/util/number/dtoa - i32.const 6128 + i32.const 6080 call $~lib/string/String.__eq i32.eqz if @@ -7525,7 +7523,7 @@ end f64.const -1e-323 call $~lib/util/number/dtoa - i32.const 6160 + i32.const 6112 call $~lib/string/String.__eq i32.eqz if @@ -7538,7 +7536,7 @@ end f64.const 0 call $~lib/util/number/dtoa - i32.const 3888 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if @@ -7551,7 +7549,7 @@ end f64.const 4294967272 call $~lib/util/number/dtoa - i32.const 6192 + i32.const 6144 call $~lib/string/String.__eq i32.eqz if @@ -7564,7 +7562,7 @@ end f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa - i32.const 6232 + i32.const 6184 call $~lib/string/String.__eq i32.eqz if @@ -7577,7 +7575,7 @@ end f64.const 555555555.5555556 call $~lib/util/number/dtoa - i32.const 6296 + i32.const 6248 call $~lib/string/String.__eq i32.eqz if @@ -7590,7 +7588,7 @@ end f64.const 0.9999999999999999 call $~lib/util/number/dtoa - i32.const 6352 + i32.const 6304 call $~lib/string/String.__eq i32.eqz if @@ -7603,7 +7601,7 @@ end f64.const 1 call $~lib/util/number/dtoa - i32.const 5712 + i32.const 5664 call $~lib/string/String.__eq i32.eqz if @@ -7616,7 +7614,7 @@ end f64.const 12.34 call $~lib/util/number/dtoa - i32.const 6408 + i32.const 6360 call $~lib/string/String.__eq i32.eqz if @@ -7629,7 +7627,7 @@ end f64.const 0.3333333333333333 call $~lib/util/number/dtoa - i32.const 6440 + i32.const 6392 call $~lib/string/String.__eq i32.eqz if @@ -7642,7 +7640,7 @@ end f64.const 1234e17 call $~lib/util/number/dtoa - i32.const 6496 + i32.const 6448 call $~lib/string/String.__eq i32.eqz if @@ -7655,7 +7653,7 @@ end f64.const 1234e18 call $~lib/util/number/dtoa - i32.const 6560 + i32.const 6512 call $~lib/string/String.__eq i32.eqz if @@ -7668,7 +7666,7 @@ end f64.const 2.71828 call $~lib/util/number/dtoa - i32.const 6600 + i32.const 6552 call $~lib/string/String.__eq i32.eqz if @@ -7681,7 +7679,7 @@ end f64.const 0.0271828 call $~lib/util/number/dtoa - i32.const 6632 + i32.const 6584 call $~lib/string/String.__eq i32.eqz if @@ -7694,7 +7692,7 @@ end f64.const 271.828 call $~lib/util/number/dtoa - i32.const 6672 + i32.const 6624 call $~lib/string/String.__eq i32.eqz if @@ -7707,7 +7705,7 @@ end f64.const 1.1e+128 call $~lib/util/number/dtoa - i32.const 6704 + i32.const 6656 call $~lib/string/String.__eq i32.eqz if @@ -7720,7 +7718,7 @@ end f64.const 1.1e-64 call $~lib/util/number/dtoa - i32.const 6736 + i32.const 6688 call $~lib/string/String.__eq i32.eqz if @@ -7733,7 +7731,7 @@ end f64.const 0.000035689 call $~lib/util/number/dtoa - i32.const 6768 + i32.const 6720 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index 7c1e32a2..f4758114 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -25,157 +25,156 @@ (data (i32.const 104) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 120) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 144) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00a\00") - (data (i32.const 168) "\01\00\00\00\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 216) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\006\00") - (data (i32.const 240) "\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 288) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\004\d8\06\df") - (data (i32.const 312) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00h\00i\00") - (data (i32.const 336) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00n\00u\00l\00l\00") - (data (i32.const 360) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 392) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00I\00\'\00m\00") - (data (i32.const 416) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00 \00") - (data (i32.const 440) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00") - (data (i32.const 464) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00") - (data (i32.const 488) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00 \00 \00a\00b\00c\00") - (data (i32.const 520) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\001\002\003\00") - (data (i32.const 544) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\001\002\003\00a\00b\00c\00") - (data (i32.const 576) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\001\002\003\001\002\00a\00b\00c\00") - (data (i32.const 608) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00 \00 \00") - (data (i32.const 640) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 672) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00") - (data (i32.const 704) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00,\00") - (data (i32.const 728) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00x\00") - (data (i32.const 752) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00,\00 \00I\00") - (data (i32.const 776) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00g\00") - (data (i32.const 800) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00i\00") - (data (i32.const 824) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\000\00") - (data (i32.const 848) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\001\00") - (data (i32.const 872) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00b\001\000\001\00") - (data (i32.const 904) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00o\007\000\007\00") - (data (i32.const 936) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00x\00f\000\00f\00") - (data (i32.const 968) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\000\00x\00F\000\00F\00") - (data (i32.const 1000) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\001\001\00") - (data (i32.const 1024) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\000\00x\001\00g\00") - (data (i32.const 1048) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\001\00") - (data (i32.const 1072) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00.\002\005\00") - (data (i32.const 1096) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00.\001\00f\00o\00o\00b\00a\00r\00") - (data (i32.const 1128) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00b\00") - (data (i32.const 1152) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00b\00") - (data (i32.const 1176) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\001\00") - (data (i32.const 1200) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\002\00") - (data (i32.const 1224) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00k\00e\001\00") - (data (i32.const 1248) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00k\00e\002\00") - (data (i32.const 1272) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\001\002\00") - (data (i32.const 1304) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00k\00e\00y\001\001\00") - (data (i32.const 1336) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 1368) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 1400) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1440) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 1480) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00b\00a\00") - (data (i32.const 1504) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00a\00a\00") - (data (i32.const 1528) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00") - (data (i32.const 1552) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") - (data (i32.const 1584) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00a\00a\00") - (data (i32.const 1616) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 1648) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00a\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 1680) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 1728) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00n\00") - (data (i32.const 1752) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00j\00k\00l\00m\00n\00") - (data (i32.const 1784) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00c\00d\00e\00f\00g\00") - (data (i32.const 1816) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00d\00e\00f\00g\00h\00") - (data (i32.const 1848) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") - (data (i32.const 1896) "\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 1944) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 2000) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00c\00") - (data (i32.const 2032) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00.\00") - (data (i32.const 2056) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00c\00") - (data (i32.const 2080) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00a\00,\00 \00b\00,\00 \00c\00") - (data (i32.const 2112) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00,\00 \00") - (data (i32.const 2136) "\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 2168) "\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 2200) "\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 2232) "\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 2648) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\c8\08\00\00\c8\08\00\00\90\01\00\00d\00\00\00") - (data (i32.const 2680) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\008\00") - (data (i32.const 2704) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\000\000\000\00") - (data (i32.const 2736) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\002\003\004\00") - (data (i32.const 2760) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\001\002\003\004\005\00") - (data (i32.const 2792) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\001\002\003\004\005\006\00") - (data (i32.const 2824) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\001\001\001\001\001\001\001\00") - (data (i32.const 2856) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\001\002\003\004\005\006\007\00") - (data (i32.const 2888) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\002\001\004\007\004\008\003\006\004\006\00") - (data (i32.const 2928) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\002\001\004\007\004\008\003\006\004\007\00") - (data (i32.const 2968) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3008) "\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00-\001\00") - (data (i32.const 3032) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\000\000\000\00") - (data (i32.const 3056) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3096) "\01\00\00\00\14\00\00\00\00\00\00\00\00\00\00\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3136) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\009\009\009\009\009\009\009\009\00") - (data (i32.const 3168) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\001\000\000\000\000\000\000\000\000\00") - (data (i32.const 3208) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3248) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3288) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3336) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3384) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3440) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00") - (data (i32.const 3496) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\002\003\004\00") - (data (i32.const 3528) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 3568) "\01\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3608) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3656) "\01\00\00\00 \00\00\00\00\00\00\00\00\00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3704) "\01\00\00\00$\00\00\00\00\00\00\00\00\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 3760) "\01\00\00\00&\00\00\00\00\00\00\00\00\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") - (data (i32.const 3816) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00") - (data (i32.const 3872) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\000\00.\000\00") - (data (i32.const 3896) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") - (data (i32.const 3920) "\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 3960) "\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 3992) "\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#push drop else @@ -3097,7 +3096,7 @@ local.get $13 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $3 local.get $3 local.get $0 @@ -3112,7 +3111,7 @@ local.get $9 local.get $3 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register call $~lib/array/Array<~lib/string/String>#push drop else @@ -3143,7 +3142,7 @@ i32.ge_u if i32.const 0 - i32.const 1912 + i32.const 1920 i32.const 96 i32.const 45 call $~lib/env/abort @@ -3157,7 +3156,7 @@ i32.ge_u if i32.const 0 - i32.const 1912 + i32.const 1920 i32.const 99 i32.const 61 call $~lib/env/abort @@ -3244,7 +3243,7 @@ (local $7 i32) (local $8 i64) (local $9 i64) - i32.const 2664 + i32.const 2616 i32.load offset=4 local.set $3 block $break|0 @@ -3389,7 +3388,7 @@ local.get $0 i32.eqz if - i32.const 840 + i32.const 848 return end local.get $0 @@ -3411,7 +3410,7 @@ local.get $2 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $3 block $~lib/util/number/utoa32_core|inlined.0 local.get $3 @@ -3433,7 +3432,7 @@ end local.get $3 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/utoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -3444,7 +3443,7 @@ local.get $0 i32.eqz if - i32.const 840 + i32.const 848 return end local.get $0 @@ -3453,7 +3452,7 @@ local.get $1 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 block $~lib/util/number/utoa32_core|inlined.1 local.get $2 @@ -3469,7 +3468,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/decimalCount64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) @@ -3552,7 +3551,7 @@ (local $11 i32) (local $12 i64) (local $13 i64) - i32.const 2664 + i32.const 2616 i32.load offset=4 local.set $3 block $break|0 @@ -3679,7 +3678,7 @@ local.get $0 i64.eqz if - i32.const 840 + i32.const 848 return end local.get $0 @@ -3696,7 +3695,7 @@ local.get $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 block $~lib/util/number/utoa32_core|inlined.2 local.get $1 @@ -3717,7 +3716,7 @@ local.get $3 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 block $~lib/util/number/utoa64_core|inlined.0 local.get $1 @@ -3734,7 +3733,7 @@ end local.get $1 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/number/itoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (local $1 i32) @@ -3748,7 +3747,7 @@ local.get $0 i64.eqz if - i32.const 840 + i32.const 848 return end local.get $0 @@ -3778,7 +3777,7 @@ local.get $4 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 block $~lib/util/number/utoa32_core|inlined.3 local.get $2 @@ -3801,7 +3800,7 @@ local.get $4 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 block $~lib/util/number/utoa64_core|inlined.1 local.get $2 @@ -3824,7 +3823,7 @@ end local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/builtins/isFinite (; 56 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) local.get $0 @@ -3912,7 +3911,7 @@ local.set $14 local.get $6 local.set $15 - i32.const 5032 + i32.const 4984 i32.load offset=4 local.set $16 block $break|0 @@ -4929,11 +4928,11 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 4720 + i32.const 4672 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_frc_pow - i32.const 4944 + i32.const 4896 local.get $13 call $~lib/array/Array#__unchecked_get global.set $~lib/util/number/_exp_pow @@ -5213,8 +5212,8 @@ i32.eqz if i32.const 0 - i32.const 256 - i32.const 197 + i32.const 264 + i32.const 203 i32.const 4 call $~lib/env/abort unreachable @@ -5304,7 +5303,7 @@ return end local.get $3 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $10 local.get $10 local.get $0 @@ -5314,9 +5313,9 @@ call $~lib/memory/memory.copy local.get $10 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) - (func $~lib/runtime/runtime.discard (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) + (func $~lib/util/runtime/discard (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -5325,8 +5324,8 @@ if i32.const 0 i32.const 184 - i32.const 68 - i32.const 6 + i32.const 114 + i32.const 4 call $~lib/env/abort unreachable end @@ -5342,8 +5341,8 @@ if i32.const 0 i32.const 184 - i32.const 70 - i32.const 6 + i32.const 116 + i32.const 4 call $~lib/env/abort unreachable end @@ -5358,7 +5357,7 @@ f64.const 0 f64.eq if - i32.const 3888 + i32.const 3840 return end local.get $0 @@ -5368,11 +5367,11 @@ local.get $0 call $~lib/builtins/isNaN if - i32.const 3912 + i32.const 3864 return end - i32.const 3936 - i32.const 3976 + i32.const 3888 + i32.const 3928 local.get $0 f64.const 0 f64.lt @@ -5382,7 +5381,7 @@ i32.const 28 i32.const 1 i32.shl - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $1 local.get $0 @@ -5394,7 +5393,7 @@ call $~lib/string/String#substring local.set $3 local.get $1 - call $~lib/runtime/runtime.discard + call $~lib/util/runtime/discard local.get $3 ) (func $start:std/string (; 66 ;) (type $FUNCSIG$v) @@ -5507,7 +5506,7 @@ end i32.const 54 call $~lib/string/String.fromCharCode - i32.const 232 + i32.const 240 call $~lib/string/String.__eq i32.eqz if @@ -5522,7 +5521,7 @@ i32.const 54 i32.add call $~lib/string/String.fromCharCode - i32.const 232 + i32.const 240 call $~lib/string/String.__eq i32.eqz if @@ -5548,7 +5547,7 @@ end i32.const 54 call $~lib/string/String.fromCodePoint - i32.const 232 + i32.const 240 call $~lib/string/String.__eq i32.eqz if @@ -5563,7 +5562,7 @@ call $~lib/string/String.fromCodePoint i32.eqz if - i32.const 304 + i32.const 312 i32.const 72 i32.const 32 i32.const 0 @@ -5571,7 +5570,7 @@ unreachable end global.get $std/string/str - i32.const 328 + i32.const 336 i32.const 0 call $~lib/string/String#startsWith i32.eqz @@ -5584,7 +5583,7 @@ unreachable end global.get $std/string/str - i32.const 376 + i32.const 384 global.get $~lib/string/String.MAX_LENGTH call $~lib/string/String#endsWith i32.eqz @@ -5599,7 +5598,7 @@ block $~lib/string/String#includes|inlined.0 (result i32) global.get $std/string/str local.set $2 - i32.const 408 + i32.const 416 local.set $1 i32.const 0 local.set $0 @@ -5623,7 +5622,7 @@ end global.get $std/string/str i32.const 0 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart global.get $std/string/str call $~lib/string/String.__eq @@ -5638,7 +5637,7 @@ end global.get $std/string/str i32.const 15 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart global.get $std/string/str call $~lib/string/String.__eq @@ -5653,9 +5652,9 @@ end i32.const 120 i32.const 3 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart - i32.const 456 + i32.const 464 call $~lib/string/String.__eq i32.eqz if @@ -5696,11 +5695,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 5 - i32.const 432 + i32.const 440 call $~lib/string/String#padStart - i32.const 504 + i32.const 512 call $~lib/string/String.__eq i32.eqz if @@ -5711,11 +5710,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 6 - i32.const 536 + i32.const 544 call $~lib/string/String#padStart - i32.const 560 + i32.const 568 call $~lib/string/String.__eq i32.eqz if @@ -5726,11 +5725,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 8 - i32.const 536 + i32.const 544 call $~lib/string/String#padStart - i32.const 592 + i32.const 600 call $~lib/string/String.__eq i32.eqz if @@ -5743,7 +5742,7 @@ end global.get $std/string/str i32.const 0 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd global.get $std/string/str call $~lib/string/String.__eq @@ -5758,7 +5757,7 @@ end global.get $std/string/str i32.const 15 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd global.get $std/string/str call $~lib/string/String.__eq @@ -5773,9 +5772,9 @@ end i32.const 120 i32.const 3 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd - i32.const 456 + i32.const 464 call $~lib/string/String.__eq i32.eqz if @@ -5816,11 +5815,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 5 - i32.const 432 + i32.const 440 call $~lib/string/String#padEnd - i32.const 624 + i32.const 632 call $~lib/string/String.__eq i32.eqz if @@ -5831,11 +5830,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 6 - i32.const 480 + i32.const 488 call $~lib/string/String#padEnd - i32.const 656 + i32.const 664 call $~lib/string/String.__eq i32.eqz if @@ -5846,11 +5845,11 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 8 - i32.const 480 + i32.const 488 call $~lib/string/String#padEnd - i32.const 688 + i32.const 696 call $~lib/string/String.__eq i32.eqz if @@ -5877,7 +5876,7 @@ unreachable end i32.const 120 - i32.const 328 + i32.const 336 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -5937,7 +5936,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 0 call $~lib/string/String#indexOf i32.const 2 @@ -5952,7 +5951,7 @@ unreachable end global.get $std/string/str - i32.const 744 + i32.const 752 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -5967,7 +5966,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 2 call $~lib/string/String#indexOf i32.const 2 @@ -5982,7 +5981,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 3 call $~lib/string/String#indexOf i32.const -1 @@ -5997,7 +5996,7 @@ unreachable end global.get $std/string/str - i32.const 768 + i32.const 776 i32.const -1 call $~lib/string/String#indexOf i32.const 2 @@ -6027,7 +6026,7 @@ unreachable end i32.const 120 - i32.const 328 + i32.const 336 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#lastIndexOf i32.const -1 @@ -6058,7 +6057,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#lastIndexOf i32.const 2 @@ -6073,7 +6072,7 @@ unreachable end global.get $std/string/str - i32.const 744 + i32.const 752 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#lastIndexOf i32.const -1 @@ -6088,7 +6087,7 @@ unreachable end global.get $std/string/str - i32.const 792 + i32.const 800 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#lastIndexOf i32.const 15 @@ -6103,7 +6102,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 2 call $~lib/string/String#lastIndexOf i32.const 2 @@ -6118,7 +6117,7 @@ unreachable end global.get $std/string/str - i32.const 720 + i32.const 728 i32.const 3 call $~lib/string/String#lastIndexOf i32.const 2 @@ -6133,7 +6132,7 @@ unreachable end global.get $std/string/str - i32.const 768 + i32.const 776 i32.const -1 call $~lib/string/String#lastIndexOf i32.const -1 @@ -6148,7 +6147,7 @@ unreachable end global.get $std/string/str - i32.const 816 + i32.const 824 i32.const 0 call $~lib/string/String#lastIndexOf i32.const -1 @@ -6163,7 +6162,7 @@ unreachable end global.get $std/string/str - i32.const 328 + i32.const 336 i32.const 0 call $~lib/string/String#lastIndexOf i32.const 0 @@ -6177,7 +6176,7 @@ call $~lib/env/abort unreachable end - i32.const 840 + i32.const 848 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -6191,7 +6190,7 @@ call $~lib/env/abort unreachable end - i32.const 864 + i32.const 872 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -6205,7 +6204,7 @@ call $~lib/env/abort unreachable end - i32.const 888 + i32.const 896 i32.const 0 call $~lib/string/parseInt f64.const 5 @@ -6219,7 +6218,7 @@ call $~lib/env/abort unreachable end - i32.const 920 + i32.const 928 i32.const 0 call $~lib/string/parseInt f64.const 455 @@ -6233,7 +6232,7 @@ call $~lib/env/abort unreachable end - i32.const 952 + i32.const 960 i32.const 0 call $~lib/string/parseInt f64.const 3855 @@ -6247,7 +6246,7 @@ call $~lib/env/abort unreachable end - i32.const 984 + i32.const 992 i32.const 0 call $~lib/string/parseInt f64.const 3855 @@ -6261,7 +6260,7 @@ call $~lib/env/abort unreachable end - i32.const 1016 + i32.const 1024 i32.const 0 call $~lib/string/parseInt f64.const 11 @@ -6275,7 +6274,7 @@ call $~lib/env/abort unreachable end - i32.const 1040 + i32.const 1048 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -6289,7 +6288,7 @@ call $~lib/env/abort unreachable end - i32.const 840 + i32.const 848 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -6302,7 +6301,7 @@ call $~lib/env/abort unreachable end - i32.const 864 + i32.const 872 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -6315,7 +6314,7 @@ call $~lib/env/abort unreachable end - i32.const 1064 + i32.const 1072 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -6328,7 +6327,7 @@ call $~lib/env/abort unreachable end - i32.const 1088 + i32.const 1096 call $~lib/string/parseFloat f64.const 0.25 f64.eq @@ -6341,7 +6340,7 @@ call $~lib/env/abort unreachable end - i32.const 1112 + i32.const 1120 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -6355,11 +6354,11 @@ unreachable end i32.const 160 - i32.const 1144 + i32.const 1152 call $~lib/string/String.__concat global.set $std/string/c global.get $std/string/c - i32.const 1168 + i32.const 1176 call $~lib/string/String.__eq i32.eqz if @@ -6419,7 +6418,7 @@ unreachable end i32.const 160 - i32.const 1144 + i32.const 1152 call $~lib/string/String.__ne i32.eqz if @@ -6442,8 +6441,8 @@ call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 1216 + i32.const 1200 + i32.const 1224 call $~lib/string/String.__ne i32.eqz if @@ -6454,8 +6453,8 @@ call $~lib/env/abort unreachable end - i32.const 1192 - i32.const 1192 + i32.const 1200 + i32.const 1200 call $~lib/string/String.__eq i32.eqz if @@ -6466,8 +6465,8 @@ call $~lib/env/abort unreachable end - i32.const 1240 - i32.const 1264 + i32.const 1248 + i32.const 1272 call $~lib/string/String.__ne i32.eqz if @@ -6478,8 +6477,8 @@ call $~lib/env/abort unreachable end - i32.const 1288 - i32.const 1320 + i32.const 1296 + i32.const 1328 call $~lib/string/String.__ne i32.eqz if @@ -6490,8 +6489,8 @@ call $~lib/env/abort unreachable end - i32.const 1352 - i32.const 1352 + i32.const 1360 + i32.const 1360 call $~lib/string/String.__eq i32.eqz if @@ -6502,8 +6501,8 @@ call $~lib/env/abort unreachable end - i32.const 1352 - i32.const 1384 + i32.const 1360 + i32.const 1392 call $~lib/string/String.__ne i32.eqz if @@ -6514,8 +6513,8 @@ call $~lib/env/abort unreachable end - i32.const 1416 - i32.const 1456 + i32.const 1424 + i32.const 1464 call $~lib/string/String.__ne i32.eqz if @@ -6526,7 +6525,7 @@ call $~lib/env/abort unreachable end - i32.const 1144 + i32.const 1152 i32.const 160 call $~lib/string/String.__gt i32.eqz @@ -6538,7 +6537,7 @@ call $~lib/env/abort unreachable end - i32.const 1496 + i32.const 1504 i32.const 160 call $~lib/string/String.__gt i32.eqz @@ -6550,8 +6549,8 @@ call $~lib/env/abort unreachable end - i32.const 1496 - i32.const 1520 + i32.const 1504 + i32.const 1528 call $~lib/string/String.__gte i32.eqz if @@ -6562,8 +6561,8 @@ call $~lib/env/abort unreachable end - i32.const 1496 - i32.const 1168 + i32.const 1504 + i32.const 1176 call $~lib/string/String.__gt i32.eqz if @@ -6574,8 +6573,8 @@ call $~lib/env/abort unreachable end - i32.const 1496 - i32.const 1168 + i32.const 1504 + i32.const 1176 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -6587,7 +6586,7 @@ call $~lib/env/abort unreachable end - i32.const 1144 + i32.const 1152 global.get $std/string/nullStr call $~lib/string/String.__lt i32.eqz @@ -6601,7 +6600,7 @@ unreachable end global.get $std/string/nullStr - i32.const 1144 + i32.const 1152 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -6613,7 +6612,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 call $~lib/string/String.__gt i32.eqz @@ -6626,7 +6625,7 @@ unreachable end i32.const 120 - i32.const 480 + i32.const 488 call $~lib/string/String.__lt i32.eqz if @@ -6637,7 +6636,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 call $~lib/string/String.__gte i32.eqz @@ -6650,7 +6649,7 @@ unreachable end i32.const 120 - i32.const 480 + i32.const 488 call $~lib/string/String.__lte i32.eqz if @@ -6661,7 +6660,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 call $~lib/string/String.__lt i32.eqz @@ -6675,7 +6674,7 @@ unreachable end i32.const 120 - i32.const 480 + i32.const 488 call $~lib/string/String.__gt i32.eqz i32.eqz @@ -6758,7 +6757,7 @@ call $~lib/env/abort unreachable end - i32.const 536 + i32.const 544 call $~lib/string/String#get:length i32.const 3 i32.eq @@ -6816,7 +6815,7 @@ i32.const 160 i32.const 2 call $~lib/string/String#repeat - i32.const 1520 + i32.const 1528 call $~lib/string/String.__eq i32.eqz if @@ -6830,7 +6829,7 @@ i32.const 160 i32.const 3 call $~lib/string/String#repeat - i32.const 1544 + i32.const 1552 call $~lib/string/String.__eq i32.eqz if @@ -6841,10 +6840,10 @@ call $~lib/env/abort unreachable end - i32.const 1168 + i32.const 1176 i32.const 4 call $~lib/string/String#repeat - i32.const 1568 + i32.const 1576 call $~lib/string/String.__eq i32.eqz if @@ -6858,7 +6857,7 @@ i32.const 160 i32.const 5 call $~lib/string/String#repeat - i32.const 1600 + i32.const 1608 call $~lib/string/String.__eq i32.eqz if @@ -6872,7 +6871,7 @@ i32.const 160 i32.const 6 call $~lib/string/String#repeat - i32.const 1632 + i32.const 1640 call $~lib/string/String.__eq i32.eqz if @@ -6886,7 +6885,7 @@ i32.const 160 i32.const 7 call $~lib/string/String#repeat - i32.const 1664 + i32.const 1672 call $~lib/string/String.__eq i32.eqz if @@ -6897,13 +6896,13 @@ call $~lib/env/abort unreachable end - i32.const 1696 + i32.const 1704 global.set $std/string/str global.get $std/string/str i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice - i32.const 1696 + i32.const 1704 call $~lib/string/String.__eq i32.eqz if @@ -6918,7 +6917,7 @@ i32.const -1 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice - i32.const 1744 + i32.const 1752 call $~lib/string/String.__eq i32.eqz if @@ -6933,7 +6932,7 @@ i32.const -5 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#slice - i32.const 1768 + i32.const 1776 call $~lib/string/String.__eq i32.eqz if @@ -6948,7 +6947,7 @@ i32.const 2 i32.const 7 call $~lib/string/String#slice - i32.const 1800 + i32.const 1808 call $~lib/string/String.__eq i32.eqz if @@ -6963,7 +6962,7 @@ i32.const -11 i32.const -6 call $~lib/string/String#slice - i32.const 1832 + i32.const 1840 call $~lib/string/String.__eq i32.eqz if @@ -6993,7 +6992,7 @@ i32.const 0 i32.const -1 call $~lib/string/String#slice - i32.const 1864 + i32.const 1872 call $~lib/string/String.__eq i32.eqz if @@ -7051,7 +7050,7 @@ unreachable end i32.const 120 - i32.const 720 + i32.const 728 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split global.set $std/string/sa @@ -7078,8 +7077,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 2048 + i32.const 1968 + i32.const 2000 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split global.set $std/string/sa @@ -7092,7 +7091,7 @@ global.get $std/string/sa i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2016 + i32.const 1968 call $~lib/string/String.__eq else local.get $0 @@ -7106,8 +7105,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 720 + i32.const 1968 + i32.const 728 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split global.set $std/string/sa @@ -7130,7 +7129,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7140,7 +7139,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7154,8 +7153,8 @@ call $~lib/env/abort unreachable end - i32.const 2096 - i32.const 2128 + i32.const 2048 + i32.const 2080 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split global.set $std/string/sa @@ -7178,7 +7177,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7188,7 +7187,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7202,8 +7201,8 @@ call $~lib/env/abort unreachable end - i32.const 2152 - i32.const 720 + i32.const 2104 + i32.const 728 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split global.set $std/string/sa @@ -7226,7 +7225,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7246,7 +7245,7 @@ global.get $std/string/sa i32.const 3 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7260,8 +7259,8 @@ call $~lib/env/abort unreachable end - i32.const 2184 - i32.const 720 + i32.const 2136 + i32.const 728 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split global.set $std/string/sa @@ -7294,7 +7293,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7304,7 +7303,7 @@ global.get $std/string/sa i32.const 3 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7318,8 +7317,8 @@ call $~lib/env/abort unreachable end - i32.const 2216 - i32.const 720 + i32.const 2168 + i32.const 728 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split global.set $std/string/sa @@ -7342,7 +7341,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7352,7 +7351,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7376,7 +7375,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split @@ -7400,7 +7399,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7410,7 +7409,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7424,7 +7423,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const 0 call $~lib/string/String#split @@ -7442,7 +7441,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const 1 call $~lib/string/String#split @@ -7470,8 +7469,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 720 + i32.const 1968 + i32.const 728 i32.const 1 call $~lib/string/String#split global.set $std/string/sa @@ -7498,7 +7497,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const 4 call $~lib/string/String#split @@ -7522,7 +7521,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7532,7 +7531,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7546,7 +7545,7 @@ call $~lib/env/abort unreachable end - i32.const 480 + i32.const 488 i32.const 120 i32.const -1 call $~lib/string/String#split @@ -7570,7 +7569,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7580,7 +7579,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7594,8 +7593,8 @@ call $~lib/env/abort unreachable end - i32.const 2016 - i32.const 720 + i32.const 1968 + i32.const 728 i32.const -1 call $~lib/string/String#split global.set $std/string/sa @@ -7618,7 +7617,7 @@ global.get $std/string/sa i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - i32.const 1144 + i32.const 1152 call $~lib/string/String.__eq else local.get $0 @@ -7628,7 +7627,7 @@ global.get $std/string/sa i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - i32.const 2072 + i32.const 2024 call $~lib/string/String.__eq else local.get $0 @@ -7644,7 +7643,7 @@ end i32.const 0 call $~lib/util/number/itoa32 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -7657,7 +7656,7 @@ end i32.const 1 call $~lib/util/number/itoa32 - i32.const 864 + i32.const 872 call $~lib/string/String.__eq i32.eqz if @@ -7670,7 +7669,7 @@ end i32.const 8 call $~lib/util/number/itoa32 - i32.const 2696 + i32.const 2648 call $~lib/string/String.__eq i32.eqz if @@ -7683,7 +7682,7 @@ end i32.const 123 call $~lib/util/number/itoa32 - i32.const 536 + i32.const 544 call $~lib/string/String.__eq i32.eqz if @@ -7696,7 +7695,7 @@ end i32.const -1000 call $~lib/util/number/itoa32 - i32.const 2720 + i32.const 2672 call $~lib/string/String.__eq i32.eqz if @@ -7709,7 +7708,7 @@ end i32.const 1234 call $~lib/util/number/itoa32 - i32.const 2752 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if @@ -7722,7 +7721,7 @@ end i32.const 12345 call $~lib/util/number/itoa32 - i32.const 2776 + i32.const 2728 call $~lib/string/String.__eq i32.eqz if @@ -7735,7 +7734,7 @@ end i32.const 123456 call $~lib/util/number/itoa32 - i32.const 2808 + i32.const 2760 call $~lib/string/String.__eq i32.eqz if @@ -7748,7 +7747,7 @@ end i32.const 1111111 call $~lib/util/number/itoa32 - i32.const 2840 + i32.const 2792 call $~lib/string/String.__eq i32.eqz if @@ -7761,7 +7760,7 @@ end i32.const 1234567 call $~lib/util/number/itoa32 - i32.const 2872 + i32.const 2824 call $~lib/string/String.__eq i32.eqz if @@ -7774,7 +7773,7 @@ end i32.const 2147483646 call $~lib/util/number/itoa32 - i32.const 2904 + i32.const 2856 call $~lib/string/String.__eq i32.eqz if @@ -7787,7 +7786,7 @@ end i32.const 2147483647 call $~lib/util/number/itoa32 - i32.const 2944 + i32.const 2896 call $~lib/string/String.__eq i32.eqz if @@ -7800,7 +7799,7 @@ end i32.const -2147483648 call $~lib/util/number/itoa32 - i32.const 2984 + i32.const 2936 call $~lib/string/String.__eq i32.eqz if @@ -7813,7 +7812,7 @@ end i32.const -1 call $~lib/util/number/itoa32 - i32.const 3024 + i32.const 2976 call $~lib/string/String.__eq i32.eqz if @@ -7826,7 +7825,7 @@ end i32.const 0 call $~lib/util/number/utoa32 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -7839,7 +7838,7 @@ end i32.const 1000 call $~lib/util/number/utoa32 - i32.const 3048 + i32.const 3000 call $~lib/string/String.__eq i32.eqz if @@ -7852,7 +7851,7 @@ end i32.const 2147483647 call $~lib/util/number/utoa32 - i32.const 2944 + i32.const 2896 call $~lib/string/String.__eq i32.eqz if @@ -7865,7 +7864,7 @@ end i32.const -2147483648 call $~lib/util/number/utoa32 - i32.const 3072 + i32.const 3024 call $~lib/string/String.__eq i32.eqz if @@ -7878,7 +7877,7 @@ end global.get $~lib/builtins/u32.MAX_VALUE call $~lib/util/number/utoa32 - i32.const 3112 + i32.const 3064 call $~lib/string/String.__eq i32.eqz if @@ -7891,7 +7890,7 @@ end i64.const 0 call $~lib/util/number/utoa64 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -7904,7 +7903,7 @@ end i64.const 1234 call $~lib/util/number/utoa64 - i32.const 2752 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if @@ -7917,7 +7916,7 @@ end i64.const 99999999 call $~lib/util/number/utoa64 - i32.const 3152 + i32.const 3104 call $~lib/string/String.__eq i32.eqz if @@ -7930,7 +7929,7 @@ end i64.const 100000000 call $~lib/util/number/utoa64 - i32.const 3184 + i32.const 3136 call $~lib/string/String.__eq i32.eqz if @@ -7943,7 +7942,7 @@ end i64.const 4294967295 call $~lib/util/number/utoa64 - i32.const 3112 + i32.const 3064 call $~lib/string/String.__eq i32.eqz if @@ -7956,7 +7955,7 @@ end i64.const 68719476735 call $~lib/util/number/utoa64 - i32.const 3224 + i32.const 3176 call $~lib/string/String.__eq i32.eqz if @@ -7969,7 +7968,7 @@ end i64.const 868719476735 call $~lib/util/number/utoa64 - i32.const 3264 + i32.const 3216 call $~lib/string/String.__eq i32.eqz if @@ -7982,7 +7981,7 @@ end i64.const 999868719476735 call $~lib/util/number/utoa64 - i32.const 3304 + i32.const 3256 call $~lib/string/String.__eq i32.eqz if @@ -7995,7 +7994,7 @@ end i64.const 9999868719476735 call $~lib/util/number/utoa64 - i32.const 3352 + i32.const 3304 call $~lib/string/String.__eq i32.eqz if @@ -8008,7 +8007,7 @@ end i64.const 19999868719476735 call $~lib/util/number/utoa64 - i32.const 3400 + i32.const 3352 call $~lib/string/String.__eq i32.eqz if @@ -8021,7 +8020,7 @@ end global.get $~lib/builtins/u64.MAX_VALUE call $~lib/util/number/utoa64 - i32.const 3456 + i32.const 3408 call $~lib/string/String.__eq i32.eqz if @@ -8034,7 +8033,7 @@ end i64.const 0 call $~lib/util/number/itoa64 - i32.const 840 + i32.const 848 call $~lib/string/String.__eq i32.eqz if @@ -8047,7 +8046,7 @@ end i64.const -1234 call $~lib/util/number/itoa64 - i32.const 3512 + i32.const 3464 call $~lib/string/String.__eq i32.eqz if @@ -8060,7 +8059,7 @@ end i64.const 4294967295 call $~lib/util/number/itoa64 - i32.const 3112 + i32.const 3064 call $~lib/string/String.__eq i32.eqz if @@ -8073,7 +8072,7 @@ end i64.const -4294967295 call $~lib/util/number/itoa64 - i32.const 3544 + i32.const 3496 call $~lib/string/String.__eq i32.eqz if @@ -8086,7 +8085,7 @@ end i64.const 68719476735 call $~lib/util/number/itoa64 - i32.const 3224 + i32.const 3176 call $~lib/string/String.__eq i32.eqz if @@ -8099,7 +8098,7 @@ end i64.const -68719476735 call $~lib/util/number/itoa64 - i32.const 3584 + i32.const 3536 call $~lib/string/String.__eq i32.eqz if @@ -8112,7 +8111,7 @@ end i64.const -868719476735 call $~lib/util/number/itoa64 - i32.const 3624 + i32.const 3576 call $~lib/string/String.__eq i32.eqz if @@ -8125,7 +8124,7 @@ end i64.const -999868719476735 call $~lib/util/number/itoa64 - i32.const 3672 + i32.const 3624 call $~lib/string/String.__eq i32.eqz if @@ -8138,7 +8137,7 @@ end i64.const -19999868719476735 call $~lib/util/number/itoa64 - i32.const 3720 + i32.const 3672 call $~lib/string/String.__eq i32.eqz if @@ -8151,7 +8150,7 @@ end global.get $~lib/builtins/i64.MAX_VALUE call $~lib/util/number/itoa64 - i32.const 3776 + i32.const 3728 call $~lib/string/String.__eq i32.eqz if @@ -8164,7 +8163,7 @@ end global.get $~lib/builtins/i64.MIN_VALUE call $~lib/util/number/itoa64 - i32.const 3832 + i32.const 3784 call $~lib/string/String.__eq i32.eqz if @@ -8177,7 +8176,7 @@ end f64.const 0 call $~lib/util/number/dtoa - i32.const 3888 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if @@ -8190,7 +8189,7 @@ end f64.const -0 call $~lib/util/number/dtoa - i32.const 3888 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if @@ -8203,7 +8202,7 @@ end f64.const nan:0x8000000000000 call $~lib/util/number/dtoa - i32.const 3912 + i32.const 3864 call $~lib/string/String.__eq i32.eqz if @@ -8216,7 +8215,7 @@ end f64.const inf call $~lib/util/number/dtoa - i32.const 3976 + i32.const 3928 call $~lib/string/String.__eq i32.eqz if @@ -8230,7 +8229,7 @@ f64.const inf f64.neg call $~lib/util/number/dtoa - i32.const 3936 + i32.const 3888 call $~lib/string/String.__eq i32.eqz if @@ -8243,7 +8242,7 @@ end global.get $~lib/builtins/f64.EPSILON call $~lib/util/number/dtoa - i32.const 5064 + i32.const 5016 call $~lib/string/String.__eq i32.eqz if @@ -8257,7 +8256,7 @@ global.get $~lib/builtins/f64.EPSILON f64.neg call $~lib/util/number/dtoa - i32.const 5128 + i32.const 5080 call $~lib/string/String.__eq i32.eqz if @@ -8270,7 +8269,7 @@ end global.get $~lib/builtins/f64.MAX_VALUE call $~lib/util/number/dtoa - i32.const 5192 + i32.const 5144 call $~lib/string/String.__eq i32.eqz if @@ -8284,7 +8283,7 @@ global.get $~lib/builtins/f64.MAX_VALUE f64.neg call $~lib/util/number/dtoa - i32.const 5256 + i32.const 5208 call $~lib/string/String.__eq i32.eqz if @@ -8297,7 +8296,7 @@ end f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa - i32.const 5320 + i32.const 5272 call $~lib/string/String.__eq i32.eqz if @@ -8310,7 +8309,7 @@ end f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa - i32.const 5384 + i32.const 5336 call $~lib/string/String.__eq i32.eqz if @@ -8323,7 +8322,7 @@ end f64.const 4.940656e-318 call $~lib/util/number/dtoa - i32.const 5448 + i32.const 5400 call $~lib/string/String.__eq i32.eqz if @@ -8336,7 +8335,7 @@ end f64.const 9060801153433600 call $~lib/util/number/dtoa - i32.const 5496 + i32.const 5448 call $~lib/string/String.__eq i32.eqz if @@ -8349,7 +8348,7 @@ end f64.const 4708356024711512064 call $~lib/util/number/dtoa - i32.const 5552 + i32.const 5504 call $~lib/string/String.__eq i32.eqz if @@ -8362,7 +8361,7 @@ end f64.const 9409340012568248320 call $~lib/util/number/dtoa - i32.const 5616 + i32.const 5568 call $~lib/string/String.__eq i32.eqz if @@ -8375,7 +8374,7 @@ end f64.const 5e-324 call $~lib/util/number/dtoa - i32.const 5680 + i32.const 5632 call $~lib/string/String.__eq i32.eqz if @@ -8388,7 +8387,7 @@ end f64.const 1 call $~lib/util/number/dtoa - i32.const 5712 + i32.const 5664 call $~lib/string/String.__eq i32.eqz if @@ -8401,7 +8400,7 @@ end f64.const 0.1 call $~lib/util/number/dtoa - i32.const 1064 + i32.const 1072 call $~lib/string/String.__eq i32.eqz if @@ -8414,7 +8413,7 @@ end f64.const -1 call $~lib/util/number/dtoa - i32.const 5736 + i32.const 5688 call $~lib/string/String.__eq i32.eqz if @@ -8427,7 +8426,7 @@ end f64.const -0.1 call $~lib/util/number/dtoa - i32.const 5760 + i32.const 5712 call $~lib/string/String.__eq i32.eqz if @@ -8440,7 +8439,7 @@ end f64.const 1e6 call $~lib/util/number/dtoa - i32.const 5784 + i32.const 5736 call $~lib/string/String.__eq i32.eqz if @@ -8453,7 +8452,7 @@ end f64.const 1e-06 call $~lib/util/number/dtoa - i32.const 5824 + i32.const 5776 call $~lib/string/String.__eq i32.eqz if @@ -8466,7 +8465,7 @@ end f64.const -1e6 call $~lib/util/number/dtoa - i32.const 5856 + i32.const 5808 call $~lib/string/String.__eq i32.eqz if @@ -8479,7 +8478,7 @@ end f64.const -1e-06 call $~lib/util/number/dtoa - i32.const 5896 + i32.const 5848 call $~lib/string/String.__eq i32.eqz if @@ -8492,7 +8491,7 @@ end f64.const 1e7 call $~lib/util/number/dtoa - i32.const 5936 + i32.const 5888 call $~lib/string/String.__eq i32.eqz if @@ -8505,7 +8504,7 @@ end f64.const 1e-07 call $~lib/util/number/dtoa - i32.const 5976 + i32.const 5928 call $~lib/string/String.__eq i32.eqz if @@ -8518,7 +8517,7 @@ end f64.const 1.e+308 call $~lib/util/number/dtoa - i32.const 6000 + i32.const 5952 call $~lib/string/String.__eq i32.eqz if @@ -8531,7 +8530,7 @@ end f64.const -1.e+308 call $~lib/util/number/dtoa - i32.const 6032 + i32.const 5984 call $~lib/string/String.__eq i32.eqz if @@ -8544,7 +8543,7 @@ end f64.const inf call $~lib/util/number/dtoa - i32.const 3976 + i32.const 3928 call $~lib/string/String.__eq i32.eqz if @@ -8557,7 +8556,7 @@ end f64.const -inf call $~lib/util/number/dtoa - i32.const 3936 + i32.const 3888 call $~lib/string/String.__eq i32.eqz if @@ -8570,7 +8569,7 @@ end f64.const 1e-308 call $~lib/util/number/dtoa - i32.const 6064 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if @@ -8583,7 +8582,7 @@ end f64.const -1e-308 call $~lib/util/number/dtoa - i32.const 6096 + i32.const 6048 call $~lib/string/String.__eq i32.eqz if @@ -8596,7 +8595,7 @@ end f64.const 1e-323 call $~lib/util/number/dtoa - i32.const 6128 + i32.const 6080 call $~lib/string/String.__eq i32.eqz if @@ -8609,7 +8608,7 @@ end f64.const -1e-323 call $~lib/util/number/dtoa - i32.const 6160 + i32.const 6112 call $~lib/string/String.__eq i32.eqz if @@ -8622,7 +8621,7 @@ end f64.const 0 call $~lib/util/number/dtoa - i32.const 3888 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if @@ -8635,7 +8634,7 @@ end f64.const 4294967272 call $~lib/util/number/dtoa - i32.const 6192 + i32.const 6144 call $~lib/string/String.__eq i32.eqz if @@ -8648,7 +8647,7 @@ end f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa - i32.const 6232 + i32.const 6184 call $~lib/string/String.__eq i32.eqz if @@ -8661,7 +8660,7 @@ end f64.const 555555555.5555556 call $~lib/util/number/dtoa - i32.const 6296 + i32.const 6248 call $~lib/string/String.__eq i32.eqz if @@ -8674,7 +8673,7 @@ end f64.const 0.9999999999999999 call $~lib/util/number/dtoa - i32.const 6352 + i32.const 6304 call $~lib/string/String.__eq i32.eqz if @@ -8687,7 +8686,7 @@ end f64.const 1 call $~lib/util/number/dtoa - i32.const 5712 + i32.const 5664 call $~lib/string/String.__eq i32.eqz if @@ -8700,7 +8699,7 @@ end f64.const 12.34 call $~lib/util/number/dtoa - i32.const 6408 + i32.const 6360 call $~lib/string/String.__eq i32.eqz if @@ -8715,7 +8714,7 @@ f64.const 3 f64.div call $~lib/util/number/dtoa - i32.const 6440 + i32.const 6392 call $~lib/string/String.__eq i32.eqz if @@ -8728,7 +8727,7 @@ end f64.const 1234e17 call $~lib/util/number/dtoa - i32.const 6496 + i32.const 6448 call $~lib/string/String.__eq i32.eqz if @@ -8741,7 +8740,7 @@ end f64.const 1234e18 call $~lib/util/number/dtoa - i32.const 6560 + i32.const 6512 call $~lib/string/String.__eq i32.eqz if @@ -8754,7 +8753,7 @@ end f64.const 2.71828 call $~lib/util/number/dtoa - i32.const 6600 + i32.const 6552 call $~lib/string/String.__eq i32.eqz if @@ -8767,7 +8766,7 @@ end f64.const 0.0271828 call $~lib/util/number/dtoa - i32.const 6632 + i32.const 6584 call $~lib/string/String.__eq i32.eqz if @@ -8780,7 +8779,7 @@ end f64.const 271.828 call $~lib/util/number/dtoa - i32.const 6672 + i32.const 6624 call $~lib/string/String.__eq i32.eqz if @@ -8793,7 +8792,7 @@ end f64.const 1.1e+128 call $~lib/util/number/dtoa - i32.const 6704 + i32.const 6656 call $~lib/string/String.__eq i32.eqz if @@ -8806,7 +8805,7 @@ end f64.const 1.1e-64 call $~lib/util/number/dtoa - i32.const 6736 + i32.const 6688 call $~lib/string/String.__eq i32.eqz if @@ -8819,7 +8818,7 @@ end f64.const 0.000035689 call $~lib/util/number/dtoa - i32.const 6768 + i32.const 6720 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index 1af1b09f..d00fd4e8 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -12,27 +12,27 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00\06\00\00\001\002\003") (data (i32.const 24) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") - (data (i32.const 64) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 104) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 152) "\01") - (data (i32.const 160) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") - (data (i32.const 192) "\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") - (data (i32.const 240) "\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") - (data (i32.const 264) "\01\00\00\00\n\00\00\00m\00a\00t\00c\00h") - (data (i32.const 288) "\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") - (data (i32.const 312) "\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") - (data (i32.const 336) "\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") - (data (i32.const 360) "\01\00\00\00\n\00\00\00s\00p\00l\00i\00t") - (data (i32.const 384) "\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") - (data (i32.const 416) "\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") - (data (i32.const 448) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") - (data (i32.const 480) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") - (data (i32.const 504) "\01\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 520) "\01\00\00\00\02\00\00\00)") - (data (i32.const 536) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") - (data (i32.const 560) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") - (data (i32.const 592) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") - (data (i32.const 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)") + (data (i32.const 64) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 112) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data (i32.const 160) "\01") + (data (i32.const 168) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") + (data (i32.const 200) "\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") + (data (i32.const 248) "\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") + (data (i32.const 272) "\01\00\00\00\n\00\00\00m\00a\00t\00c\00h") + (data (i32.const 296) "\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") + (data (i32.const 320) "\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") + (data (i32.const 344) "\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") + (data (i32.const 368) "\01\00\00\00\n\00\00\00s\00p\00l\00i\00t") + (data (i32.const 392) "\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") + (data (i32.const 424) "\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") + (data (i32.const 456) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") + (data (i32.const 488) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") + (data (i32.const 512) "\01\00\00\00\08\00\00\00n\00u\00l\00l") + (data (i32.const 528) "\01\00\00\00\02\00\00\00)") + (data (i32.const 544) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") + (data (i32.const 568) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") + (data (i32.const 600) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") + (data (i32.const 648) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) @@ -115,7 +115,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -136,16 +136,16 @@ i32.const 8 i32.add ) - (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 700 + i32.const 708 i32.le_u if i32.const 0 i32.const 72 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -159,8 +159,8 @@ if i32.const 0 i32.const 72 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -387,20 +387,20 @@ i32.gt_u if i32.const 0 - i32.const 112 + i32.const 120 i32.const 54 i32.const 43 call $~lib/env/abort unreachable end local.get $0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 local.get $0 call $~lib/memory/memory.fill local.get $1 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/map/Map<~lib/string/String,usize>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 @@ -427,9 +427,9 @@ (func $~lib/map/Map<~lib/string/String,usize>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -455,9 +455,9 @@ (func $~lib/map/Map#constructor (; 8 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $0 i32.const 0 i32.store @@ -1367,7 +1367,7 @@ (local $3 i32) (local $4 i32) local.get $1 - i32.const 512 + i32.const 520 local.get $1 select local.tee $3 @@ -1392,11 +1392,11 @@ local.tee $2 i32.eqz if - i32.const 160 + i32.const 168 return end local.get $2 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $2 local.get $0 local.get $1 @@ -1409,11 +1409,11 @@ call $~lib/memory/memory.copy local.get $2 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 512 + i32.const 520 local.get $0 select local.get $1 @@ -1422,9 +1422,9 @@ (func $~lib/symbol/_Symbol#toString (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 160 + i32.const 168 local.set $2 - i32.const 488 + i32.const 496 block $break|0 (result i32) block $case11|0 block $case10|0 @@ -1454,37 +1454,37 @@ end br $case11|0 end - i32.const 168 + i32.const 176 br $break|0 end - i32.const 200 + i32.const 208 br $break|0 end - i32.const 248 + i32.const 256 br $break|0 end - i32.const 272 + i32.const 280 br $break|0 end - i32.const 296 + i32.const 304 br $break|0 end - i32.const 320 + i32.const 328 br $break|0 end - i32.const 344 + i32.const 352 br $break|0 end - i32.const 368 + i32.const 376 br $break|0 end - i32.const 392 + i32.const 400 br $break|0 end - i32.const 424 + i32.const 432 br $break|0 end - i32.const 456 + i32.const 464 br $break|0 end global.get $~lib/symbol/idToString @@ -1503,11 +1503,11 @@ local.get $0 call $~lib/map/Map#get else - i32.const 160 + i32.const 168 end end call $~lib/string/String.__concat - i32.const 528 + i32.const 536 call $~lib/string/String.__concat ) (func $start:std/symbol (; 27 ;) (type $FUNCSIG$v) @@ -1547,7 +1547,7 @@ call $~lib/env/abort unreachable end - i32.const 704 + i32.const 712 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -1644,7 +1644,7 @@ end local.get $0 call $~lib/symbol/_Symbol#toString - i32.const 544 + i32.const 552 call $~lib/string/String.__eq i32.eqz if @@ -1657,7 +1657,7 @@ end global.get $std/symbol/sym3 call $~lib/symbol/_Symbol#toString - i32.const 568 + i32.const 576 call $~lib/string/String.__eq i32.eqz if @@ -1674,7 +1674,7 @@ global.set $std/symbol/isConcatSpreadable global.get $std/symbol/hasInstance call $~lib/symbol/_Symbol#toString - i32.const 600 + i32.const 608 call $~lib/string/String.__eq i32.eqz if @@ -1687,7 +1687,7 @@ end global.get $std/symbol/isConcatSpreadable call $~lib/symbol/_Symbol#toString - i32.const 648 + i32.const 656 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index ab341a3f..4815c918 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -12,27 +12,27 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00\06\00\00\001\002\003\00") (data (i32.const 24) "\01\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00") - (data (i32.const 64) "\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") - (data (i32.const 104) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 152) "\01\00\00\00\00\00\00\00") - (data (i32.const 160) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00") - (data (i32.const 192) "\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00") - (data (i32.const 240) "\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00") - (data (i32.const 264) "\01\00\00\00\n\00\00\00m\00a\00t\00c\00h\00") - (data (i32.const 288) "\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00") - (data (i32.const 312) "\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") - (data (i32.const 336) "\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00") - (data (i32.const 360) "\01\00\00\00\n\00\00\00s\00p\00l\00i\00t\00") - (data (i32.const 384) "\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00") - (data (i32.const 416) "\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00") - (data (i32.const 448) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00") - (data (i32.const 480) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00") - (data (i32.const 504) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00") - (data (i32.const 520) "\01\00\00\00\02\00\00\00)\00") - (data (i32.const 536) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") - (data (i32.const 560) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") - (data (i32.const 592) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00") - (data (i32.const 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") + (data (i32.const 64) "\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 112) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") + (data (i32.const 160) "\01\00\00\00\00\00\00\00") + (data (i32.const 168) "\01\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00") + (data (i32.const 200) "\01\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00") + (data (i32.const 248) "\01\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00") + (data (i32.const 272) "\01\00\00\00\n\00\00\00m\00a\00t\00c\00h\00") + (data (i32.const 296) "\01\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00") + (data (i32.const 320) "\01\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") + (data (i32.const 344) "\01\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00") + (data (i32.const 368) "\01\00\00\00\n\00\00\00s\00p\00l\00i\00t\00") + (data (i32.const 392) "\01\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00") + (data (i32.const 424) "\01\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00") + (data (i32.const 456) "\01\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00") + (data (i32.const 488) "\01\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00") + (data (i32.const 512) "\01\00\00\00\08\00\00\00n\00u\00l\00l\00") + (data (i32.const 528) "\01\00\00\00\02\00\00\00)\00") + (data (i32.const 544) "\01\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00") + (data (i32.const 568) "\01\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00") + (data (i32.const 600) "\01\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00") + (data (i32.const 648) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00") (table $0 1 funcref) (elem (i32.const 0) $null) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) @@ -56,7 +56,7 @@ (global $std/symbol/hasInstance (mut i32) (i32.const 0)) (global $~lib/symbol/_Symbol.isConcatSpreadable i32 (i32.const 2)) (global $std/symbol/isConcatSpreadable (mut i32) (i32.const 0)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 700)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 708)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -175,7 +175,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -191,7 +191,7 @@ global.get $~lib/util/runtime/HEADER_SIZE i32.add ) - (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -200,8 +200,8 @@ if i32.const 0 i32.const 72 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -217,8 +217,8 @@ if i32.const 0 i32.const 72 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -491,14 +491,14 @@ i32.gt_u if i32.const 0 - i32.const 112 + i32.const 120 i32.const 54 i32.const 43 call $~lib/env/abort unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -506,7 +506,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/map/Map<~lib/string/String,usize>#clear (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) local.get $0 @@ -540,9 +540,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -600,9 +600,9 @@ i32.eqz if i32.const 24 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -1760,7 +1760,7 @@ i32.const 0 i32.eq if - i32.const 512 + i32.const 520 local.set $1 end local.get $0 @@ -1781,11 +1781,11 @@ i32.const 0 i32.eq if - i32.const 160 + i32.const 168 return end local.get $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $5 local.get $5 local.get $0 @@ -1799,11 +1799,11 @@ call $~lib/memory/memory.copy local.get $5 i32.const 1 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/string/String.__concat (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 512 + i32.const 520 local.get $0 i32.const 0 i32.ne @@ -1817,7 +1817,7 @@ (local $3 i32) local.get $0 local.set $1 - i32.const 160 + i32.const 168 local.set $2 block $break|0 block $case11|0 @@ -1881,7 +1881,7 @@ br $case11|0 end block - i32.const 168 + i32.const 176 local.set $2 br $break|0 unreachable @@ -1889,7 +1889,7 @@ unreachable end block - i32.const 200 + i32.const 208 local.set $2 br $break|0 unreachable @@ -1897,7 +1897,7 @@ unreachable end block - i32.const 248 + i32.const 256 local.set $2 br $break|0 unreachable @@ -1905,7 +1905,7 @@ unreachable end block - i32.const 272 + i32.const 280 local.set $2 br $break|0 unreachable @@ -1913,7 +1913,7 @@ unreachable end block - i32.const 296 + i32.const 304 local.set $2 br $break|0 unreachable @@ -1921,7 +1921,7 @@ unreachable end block - i32.const 320 + i32.const 328 local.set $2 br $break|0 unreachable @@ -1929,7 +1929,7 @@ unreachable end block - i32.const 344 + i32.const 352 local.set $2 br $break|0 unreachable @@ -1937,7 +1937,7 @@ unreachable end block - i32.const 368 + i32.const 376 local.set $2 br $break|0 unreachable @@ -1945,7 +1945,7 @@ unreachable end block - i32.const 392 + i32.const 400 local.set $2 br $break|0 unreachable @@ -1953,7 +1953,7 @@ unreachable end block - i32.const 424 + i32.const 432 local.set $2 br $break|0 unreachable @@ -1961,7 +1961,7 @@ unreachable end block - i32.const 456 + i32.const 464 local.set $2 br $break|0 unreachable @@ -1991,10 +1991,10 @@ end unreachable end - i32.const 488 + i32.const 496 local.get $2 call $~lib/string/String.__concat - i32.const 528 + i32.const 536 call $~lib/string/String.__concat ) (func $start:std/symbol (; 34 ;) (type $FUNCSIG$v) @@ -2120,7 +2120,7 @@ i32.const 0 call $~lib/symbol/Symbol call $~lib/symbol/_Symbol#toString - i32.const 544 + i32.const 552 call $~lib/string/String.__eq i32.eqz if @@ -2133,7 +2133,7 @@ end global.get $std/symbol/sym3 call $~lib/symbol/_Symbol#toString - i32.const 568 + i32.const 576 call $~lib/string/String.__eq i32.eqz if @@ -2150,7 +2150,7 @@ global.set $std/symbol/isConcatSpreadable global.get $std/symbol/hasInstance call $~lib/symbol/_Symbol#toString - i32.const 600 + i32.const 608 call $~lib/string/String.__eq i32.eqz if @@ -2163,7 +2163,7 @@ end global.get $std/symbol/isConcatSpreadable call $~lib/symbol/_Symbol#toString - i32.const 648 + i32.const 656 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index cc535c9d..4dfc46e1 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -37,61 +37,61 @@ (data (i32.const 24) "s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 64) "\01\00\00\00&") (data (i32.const 80) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 120) "\01\00\00\00\1e") - (data (i32.const 136) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") - (data (i32.const 168) "\01\00\00\00$") - (data (i32.const 184) "~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 224) "\02\00\00\00\05") - (data (i32.const 240) "\01\01\01\04\05") - (data (i32.const 248) "\01\00\00\00\1a") - (data (i32.const 264) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 296) "\02\00\00\00\05") - (data (i32.const 320) "\02\00\00\00\05") - (data (i32.const 336) "\01\01") - (data (i32.const 344) "\02\00\00\00\05") - (data (i32.const 360) "\01\01\00\02\02") - (data (i32.const 368) "\02\00\00\00\05") - (data (i32.const 384) "\01\01\00\02\02") - (data (i32.const 392) "\02\00\00\00\03") - (data (i32.const 416) "\02\00\00\00\05") - (data (i32.const 432) "\01\00\00\00\02") - (data (i32.const 440) "\02\00\00\00\14") - (data (i32.const 456) "\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 480) "\02\00\00\00\14") - (data (i32.const 520) "\02\00\00\00\14") - (data (i32.const 536) "\01\00\00\00\01") - (data (i32.const 560) "\02\00\00\00\14") - (data (i32.const 576) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 600) "\02\00\00\00\14") - (data (i32.const 616) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 640) "\02\00\00\00\0c") - (data (i32.const 672) "\02\00\00\00\14") - (data (i32.const 688) "\01") - (data (i32.const 704) "\02") - (data (i32.const 712) "\01\00\00\00\1e") - (data (i32.const 728) "r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 760) "\01\00\00\00(") - (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 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") - (data (i32.const 944) "\01\00\00\00,") - (data (i32.const 960) "f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1008) "\01\00\00\00>") - (data (i32.const 1024) "f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h") - (data (i32.const 1088) "\01\00\00\006") - (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 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") + (data (i32.const 120) "\01\00\00\00(") + (data (i32.const 136) "~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") + (data (i32.const 176) "\01\00\00\00$") + (data (i32.const 192) "~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 232) "\02\00\00\00\05") + (data (i32.const 248) "\01\01\01\04\05") + (data (i32.const 256) "\01\00\00\00\1a") + (data (i32.const 272) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 304) "\02\00\00\00\05") + (data (i32.const 328) "\02\00\00\00\05") + (data (i32.const 344) "\01\01") + (data (i32.const 352) "\02\00\00\00\05") + (data (i32.const 368) "\01\01\00\02\02") + (data (i32.const 376) "\02\00\00\00\05") + (data (i32.const 392) "\01\01\00\02\02") + (data (i32.const 400) "\02\00\00\00\03") + (data (i32.const 424) "\02\00\00\00\05") + (data (i32.const 440) "\01\00\00\00\02") + (data (i32.const 448) "\02\00\00\00\14") + (data (i32.const 464) "\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data (i32.const 488) "\02\00\00\00\14") + (data (i32.const 528) "\02\00\00\00\14") + (data (i32.const 544) "\01\00\00\00\01") + (data (i32.const 568) "\02\00\00\00\14") + (data (i32.const 584) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 608) "\02\00\00\00\14") + (data (i32.const 624) "\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data (i32.const 648) "\02\00\00\00\0c") + (data (i32.const 680) "\02\00\00\00\14") + (data (i32.const 696) "\01") + (data (i32.const 712) "\02") + (data (i32.const 720) "\01\00\00\00\1e") + (data (i32.const 736) "r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 768) "\01\00\00\00(") + (data (i32.const 784) "f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 824) "\02\00\00\00\0c") + (data (i32.const 840) "\n\00\00\00\0c\00\00\00\0e") + (data (i32.const 856) "\10\00\00\00\10") + (data (i32.const 872) "H\03\00\00H\03\00\00\0c\00\00\00\03") + (data (i32.const 888) "\01\00\00\00,") + (data (i32.const 904) "f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 952) "\01\00\00\00,") + (data (i32.const 968) "f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1016) "\01\00\00\00>") + (data (i32.const 1032) "f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1096) "\01\00\00\006") + (data (i32.const 1112) "f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1168) "\02\00\00\00$") + (data (i32.const 1184) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data (i32.const 1224) "\10\00\00\00\10") + (data (i32.const 1240) "\a0\04\00\00\a0\04\00\00$\00\00\00\t") + (data (i32.const 1256) "\01\00\00\00B") + (data (i32.const 1272) "T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h") + (data (i32.const 1344) "\01\00\00\00V") + (data (i32.const 1360) "T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h") (table $0 112 funcref) (elem (i32.const 0) $null $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -110,12 +110,12 @@ (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) (global $std/typedarray/forEachCallCount (mut i32) (i32.const 0)) (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) - (global $std/typedarray/forEachValues (mut i32) (i32.const 864)) - (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1232)) + (global $std/typedarray/forEachValues (mut i32) (i32.const 872)) + (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1240)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -179,7 +179,7 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) i32.const 1 i32.const 32 @@ -431,16 +431,16 @@ end end ) - (func $~lib/runtime/runtime.register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 - i32.const 1440 + i32.const 1448 i32.le_u if i32.const 0 i32.const 136 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -454,8 +454,8 @@ if i32.const 0 i32.const 136 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -478,14 +478,14 @@ unreachable end local.get $0 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.tee $1 i32.const 0 local.get $0 call $~lib/memory/memory.fill local.get $1 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $1 @@ -511,9 +511,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -541,99 +541,99 @@ ) (func $~lib/typedarray/Int8Array#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Uint8Array#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Uint8ClampedArray#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Int16Array#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Uint16Array#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Int32Array#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Uint32Array#constructor (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Int64Array#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Uint64Array#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Float32Array#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 13 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor ) (func $~lib/typedarray/Float64Array#constructor (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 14 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor @@ -1111,8 +1111,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 443 + i32.const 192 + i32.const 444 i32.const 63 call $~lib/env/abort unreachable @@ -1135,8 +1135,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 437 + i32.const 192 + i32.const 438 i32.const 63 call $~lib/env/abort unreachable @@ -1208,7 +1208,7 @@ end local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $0 i32.load offset=4 @@ -1239,7 +1239,7 @@ i32.store offset=8 local.get $2 i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/typedarray/Float64Array#__set (; 22 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 @@ -1250,8 +1250,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 853 + i32.const 192 + i32.const 854 i32.const 63 call $~lib/env/abort unreachable @@ -1324,7 +1324,7 @@ end local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $0 i32.load offset=4 @@ -1355,7 +1355,7 @@ i32.store offset=8 local.get $2 i32.const 14 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/sort/insertionSort (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -1793,8 +1793,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 847 + i32.const 192 + i32.const 848 i32.const 63 call $~lib/env/abort unreachable @@ -1814,8 +1814,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 197 + i32.const 192 + i32.const 198 i32.const 44 call $~lib/env/abort unreachable @@ -1846,8 +1846,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 191 + i32.const 192 + i32.const 192 i32.const 44 call $~lib/env/abort unreachable @@ -1865,8 +1865,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 33 + i32.const 192 + i32.const 34 i32.const 44 call $~lib/env/abort unreachable @@ -2118,17 +2118,17 @@ (local $4 i32) (local $5 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $2 local.get $0 local.get $1 i32.shl local.tee $4 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.tee $1 local.set $5 local.get $2 @@ -2162,8 +2162,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 27 + i32.const 192 + i32.const 28 i32.const 44 call $~lib/env/abort unreachable @@ -2181,7 +2181,7 @@ i32.ge_u if i32.const 0 - i32.const 264 + i32.const 272 i32.const 99 i32.const 61 call $~lib/env/abort @@ -2292,7 +2292,7 @@ end local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $0 i32.load offset=4 @@ -2319,7 +2319,7 @@ i32.store offset=8 local.get $2 i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/typedarray/Int32Array#fill (; 39 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) @@ -2407,7 +2407,7 @@ i32.ge_u if i32.const 0 - i32.const 264 + i32.const 272 i32.const 99 i32.const 61 call $~lib/env/abort @@ -2547,8 +2547,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 115 + i32.const 192 + i32.const 116 i32.const 44 call $~lib/env/abort unreachable @@ -2670,8 +2670,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 279 + i32.const 192 + i32.const 280 i32.const 63 call $~lib/env/abort unreachable @@ -2766,8 +2766,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 361 + i32.const 192 + i32.const 362 i32.const 63 call $~lib/env/abort unreachable @@ -2933,8 +2933,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 525 + i32.const 192 + i32.const 526 i32.const 63 call $~lib/env/abort unreachable @@ -2987,8 +2987,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 607 + i32.const 192 + i32.const 608 i32.const 63 call $~lib/env/abort unreachable @@ -3087,8 +3087,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 689 + i32.const 192 + i32.const 690 i32.const 63 call $~lib/env/abort unreachable @@ -3141,8 +3141,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 771 + i32.const 192 + i32.const 772 i32.const 63 call $~lib/env/abort unreachable @@ -4131,8 +4131,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 109 + i32.const 192 + i32.const 110 i32.const 44 call $~lib/env/abort unreachable @@ -4369,8 +4369,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 273 + i32.const 192 + i32.const 274 i32.const 63 call $~lib/env/abort unreachable @@ -4505,8 +4505,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 355 + i32.const 192 + i32.const 356 i32.const 63 call $~lib/env/abort unreachable @@ -4754,8 +4754,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 519 + i32.const 192 + i32.const 520 i32.const 63 call $~lib/env/abort unreachable @@ -4895,8 +4895,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 601 + i32.const 192 + i32.const 602 i32.const 63 call $~lib/env/abort unreachable @@ -5031,8 +5031,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 683 + i32.const 192 + i32.const 684 i32.const 63 call $~lib/env/abort unreachable @@ -5172,8 +5172,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 765 + i32.const 192 + i32.const 766 i32.const 63 call $~lib/env/abort unreachable @@ -6274,7 +6274,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6287,7 +6287,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6359,7 +6359,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6372,7 +6372,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6402,7 +6402,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6415,7 +6415,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6498,7 +6498,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6511,7 +6511,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6587,7 +6587,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6600,7 +6600,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6681,7 +6681,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6694,7 +6694,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6724,7 +6724,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6737,7 +6737,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6818,7 +6818,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6831,7 +6831,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6861,7 +6861,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6874,7 +6874,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -6955,7 +6955,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -6968,7 +6968,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -7049,7 +7049,7 @@ i32.const 1 i32.ne if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -7062,7 +7062,7 @@ i32.const -1 i32.ne if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -8233,7 +8233,7 @@ i32.and i32.ne if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -8244,7 +8244,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -8255,7 +8255,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -8344,7 +8344,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -8424,7 +8424,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -8471,7 +8471,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -8490,7 +8490,7 @@ i32.and i32.ne if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -8501,7 +8501,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -8512,7 +8512,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -8605,7 +8605,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -8688,7 +8688,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -8703,7 +8703,7 @@ local.get $0 i32.ne if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -8714,7 +8714,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -8725,7 +8725,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -8807,7 +8807,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -8848,7 +8848,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -8864,7 +8864,7 @@ i64.extend_i32_s i64.ne if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -8875,7 +8875,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -8886,7 +8886,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -8971,7 +8971,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -9015,7 +9015,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -9031,7 +9031,7 @@ f32.convert_i32_s f32.ne if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -9042,7 +9042,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -9053,7 +9053,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -9137,7 +9137,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -9153,7 +9153,7 @@ f64.convert_i32_s f64.ne if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -9164,7 +9164,7 @@ global.get $std/typedarray/forEachCallCount i32.ne if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -9175,7 +9175,7 @@ global.get $std/typedarray/forEachSelf i32.ne if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -9259,7 +9259,7 @@ i32.const 3 i32.ne if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -9386,7 +9386,7 @@ i32.shr_s i32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -9413,7 +9413,7 @@ i32.const 8 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -9426,7 +9426,7 @@ i32.const 7 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -9439,7 +9439,7 @@ i32.const 6 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -9452,7 +9452,7 @@ i32.const 5 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -9523,7 +9523,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -9561,7 +9561,7 @@ i32.store offset=8 local.get $1 i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 238 ;) (type $FUNCSIG$v) (local $0 i32) @@ -9628,7 +9628,7 @@ i32.and i32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -9653,7 +9653,7 @@ i32.const 8 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -9666,7 +9666,7 @@ i32.const 7 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -9679,7 +9679,7 @@ i32.const 6 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -9692,7 +9692,7 @@ i32.const 5 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -9715,7 +9715,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -9753,7 +9753,7 @@ i32.store offset=8 local.get $1 i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 240 ;) (type $FUNCSIG$v) (local $0 i32) @@ -9820,7 +9820,7 @@ i32.and i32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -9845,7 +9845,7 @@ i32.const 8 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -9858,7 +9858,7 @@ i32.const 7 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -9871,7 +9871,7 @@ i32.const 6 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -9884,7 +9884,7 @@ i32.const 5 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -9963,7 +9963,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -10005,7 +10005,7 @@ i32.store offset=8 local.get $1 i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 243 ;) (type $FUNCSIG$v) (local $0 i32) @@ -10078,7 +10078,7 @@ i32.shr_s i32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -10103,7 +10103,7 @@ i32.const 8 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -10116,7 +10116,7 @@ i32.const 7 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -10129,7 +10129,7 @@ i32.const 6 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -10142,7 +10142,7 @@ i32.const 5 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -10221,7 +10221,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -10263,7 +10263,7 @@ i32.store offset=8 local.get $1 i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 246 ;) (type $FUNCSIG$v) (local $0 i32) @@ -10330,7 +10330,7 @@ i32.and i32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -10355,7 +10355,7 @@ i32.const 8 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -10368,7 +10368,7 @@ i32.const 7 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -10381,7 +10381,7 @@ i32.const 6 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -10394,7 +10394,7 @@ i32.const 5 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -10515,7 +10515,7 @@ call $~lib/array/Array#__get i32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -10542,7 +10542,7 @@ i32.const 8 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -10555,7 +10555,7 @@ i32.const 7 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -10568,7 +10568,7 @@ i32.const 6 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -10581,7 +10581,7 @@ i32.const 5 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -10606,7 +10606,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -10648,7 +10648,7 @@ i32.store offset=8 local.get $1 i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 250 ;) (type $FUNCSIG$v) (local $0 i32) @@ -10709,7 +10709,7 @@ call $~lib/array/Array#__get i32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -10734,7 +10734,7 @@ i32.const 8 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -10747,7 +10747,7 @@ i32.const 7 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -10760,7 +10760,7 @@ i32.const 6 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -10773,7 +10773,7 @@ i32.const 5 i32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -10852,7 +10852,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -10894,7 +10894,7 @@ i32.store offset=8 local.get $1 i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 253 ;) (type $FUNCSIG$v) (local $0 i32) @@ -10958,7 +10958,7 @@ i64.extend_i32_s i64.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -10983,7 +10983,7 @@ i64.const 8 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -10996,7 +10996,7 @@ i64.const 7 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -11009,7 +11009,7 @@ i64.const 6 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -11022,7 +11022,7 @@ i64.const 5 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -11047,7 +11047,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -11089,7 +11089,7 @@ i32.store offset=8 local.get $1 i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 255 ;) (type $FUNCSIG$v) (local $0 i32) @@ -11153,7 +11153,7 @@ i64.extend_i32_s i64.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -11178,7 +11178,7 @@ i64.const 8 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -11191,7 +11191,7 @@ i64.const 7 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -11204,7 +11204,7 @@ i64.const 6 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -11217,7 +11217,7 @@ i64.const 5 i64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -11296,7 +11296,7 @@ select local.set $3 i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $1 local.get $0 i32.load offset=4 @@ -11338,7 +11338,7 @@ i32.store offset=8 local.get $1 i32.const 13 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 258 ;) (type $FUNCSIG$v) (local $0 i32) @@ -11402,7 +11402,7 @@ f32.convert_i32_s f32.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -11427,7 +11427,7 @@ f32.const 8 f32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -11440,7 +11440,7 @@ f32.const 7 f32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -11453,7 +11453,7 @@ f32.const 6 f32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -11466,7 +11466,7 @@ f32.const 5 f32.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -11590,7 +11590,7 @@ f64.convert_i32_s f64.ne if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -11617,7 +11617,7 @@ f64.const 8 f64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -11630,7 +11630,7 @@ f64.const 7 f64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -11643,7 +11643,7 @@ f64.const 6 f64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -11656,7 +11656,7 @@ f64.const 5 f64.ne if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -11667,7 +11667,7 @@ (func $start:std/typedarray (; 261 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) - i32.const 1440 + i32.const 1448 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset @@ -12061,7 +12061,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 240 + i32.const 248 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -12082,7 +12082,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 312 + i32.const 320 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -12103,7 +12103,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 336 + i32.const 344 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -12124,7 +12124,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 360 + i32.const 368 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -12145,7 +12145,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 384 + i32.const 392 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -12211,7 +12211,7 @@ i32.const 3 i32.const 0 i32.const 15 - i32.const 408 + i32.const 416 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -12227,7 +12227,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 432 + i32.const 440 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -12271,7 +12271,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 456 + i32.const 464 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -12292,7 +12292,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 496 + i32.const 504 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -12313,7 +12313,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 536 + i32.const 544 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -12334,7 +12334,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 576 + i32.const 584 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -12355,7 +12355,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 616 + i32.const 624 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -12423,7 +12423,7 @@ i32.const 3 i32.const 2 i32.const 16 - i32.const 656 + i32.const 664 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -12439,7 +12439,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 688 + i32.const 696 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 865a4b02..7123557c 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -38,35 +38,35 @@ (memory $0 1) (data (i32.const 8) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") (data (i32.const 64) "\01\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") - (data (i32.const 120) "\01\00\00\00\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 168) "\01\00\00\00$\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 224) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\01\04\05") - (data (i32.const 248) "\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 296) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 320) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\00\00") - (data (i32.const 344) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 368) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") - (data (i32.const 392) "\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 416) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 440) "\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 480) "\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 520) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 560) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 600) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") - (data (i32.const 640) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 672) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00") - (data (i32.const 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 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 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") + (data (i32.const 120) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") + (data (i32.const 176) "\01\00\00\00$\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 232) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\01\04\05") + (data (i32.const 256) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 304) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 328) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\00\00") + (data (i32.const 352) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") + (data (i32.const 376) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\01\00\02\02") + (data (i32.const 400) "\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 424) "\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 448) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 488) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 528) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 568) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 608) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00") + (data (i32.const 648) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 680) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00") + (data (i32.const 720) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 768) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00f\00a\00i\00l\00 \00r\00e\00s\00u\00l\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 824) "\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") + (data (i32.const 856) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00H\03\00\00H\03\00\00\0c\00\00\00\03\00\00\00") + (data (i32.const 888) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 952) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00i\00n\00d\00e\00x\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1016) "\01\00\00\00>\00\00\00\00\00\00\00\00\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00s\00e\00l\00f\00 \00p\00a\00r\00a\00m\00e\00t\00e\00r\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1096) "\01\00\00\006\00\00\00\00\00\00\00\00\00\00\00f\00o\00r\00E\00a\00c\00h\00 \00c\00a\00l\00l\00 \00c\00o\00u\00n\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1168) "\02\00\00\00$\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") + (data (i32.const 1224) "\10\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\a0\04\00\00\a0\04\00\00$\00\00\00\t\00\00\00") + (data (i32.const 1256) "\01\00\00\00B\00\00\00\00\00\00\00\00\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00v\00a\00l\00u\00e\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") + (data (i32.const 1344) "\01\00\00\00V\00\00\00\00\00\00\00\00\00\00\00T\00y\00p\00e\00d\00A\00r\00r\00a\00y\00 \00r\00e\00v\00e\00r\00s\00e\00 \00w\00i\00t\00h\00 \00b\00y\00t\00e\00O\00f\00f\00s\00e\00t\00 \00m\00i\00s\00m\00a\00t\00c\00h\00") (table $0 112 funcref) (elem (i32.const 0) $null $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -102,13 +102,13 @@ (global $std/typedarray/multisubarr3 (mut i32) (i32.const 0)) (global $std/typedarray/forEachCallCount (mut i32) (i32.const 0)) (global $std/typedarray/forEachSelf (mut i32) (i32.const 0)) - (global $std/typedarray/forEachValues (mut i32) (i32.const 864)) - (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1232)) - (global $~lib/memory/HEAP_BASE i32 (i32.const 1440)) + (global $std/typedarray/forEachValues (mut i32) (i32.const 872)) + (global $std/typedarray/testArrayReverseValues (mut i32) (i32.const 1240)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 1448)) (global $~lib/capabilities i32 (i32.const 2)) (export "memory" (memory $0)) (export "table" (table $0)) - (export ".capabilities" (global $~lib/capabilities)) + (export "$.capabilities" (global $~lib/capabilities)) (start $start) (func $~lib/util/runtime/adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 @@ -206,7 +206,7 @@ call $~lib/allocator/arena/__mem_allocate return ) - (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/util/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/util/runtime/adjust @@ -488,7 +488,7 @@ (func $~lib/collector/dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) nop ) - (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 global.get $~lib/memory/HEAP_BASE @@ -497,8 +497,8 @@ if i32.const 0 i32.const 136 - i32.const 82 - i32.const 6 + i32.const 128 + i32.const 4 call $~lib/env/abort unreachable end @@ -514,8 +514,8 @@ if i32.const 0 i32.const 136 - i32.const 84 - i32.const 6 + i32.const 130 + i32.const 4 call $~lib/env/abort unreachable end @@ -540,7 +540,7 @@ unreachable end local.get $1 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $2 local.get $2 i32.const 0 @@ -548,7 +548,7 @@ call $~lib/memory/memory.fill local.get $2 i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop @@ -586,9 +586,9 @@ i32.eqz if i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 3 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $0 end local.get $0 @@ -638,9 +638,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 0 @@ -669,9 +669,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 0 @@ -689,9 +689,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 0 @@ -709,9 +709,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 1 @@ -731,9 +731,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 1 @@ -753,9 +753,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 2 @@ -775,9 +775,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 2 @@ -797,9 +797,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 3 @@ -819,9 +819,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 3 @@ -841,9 +841,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 13 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 2 @@ -863,9 +863,9 @@ local.get $0 else i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 14 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register end local.get $1 i32.const 3 @@ -1396,8 +1396,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 443 + i32.const 192 + i32.const 444 i32.const 63 call $~lib/env/abort unreachable @@ -1420,8 +1420,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 437 + i32.const 192 + i32.const 438 i32.const 63 call $~lib/env/abort unreachable @@ -1514,7 +1514,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -1561,7 +1561,7 @@ i32.store offset=8 local.get $7 i32.const 9 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/typedarray/Float64Array#__set (; 40 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 @@ -1572,8 +1572,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 853 + i32.const 192 + i32.const 854 i32.const 63 call $~lib/env/abort unreachable @@ -1667,7 +1667,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -1714,7 +1714,7 @@ i32.store offset=8 local.get $7 i32.const 14 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/util/sort/insertionSort (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -2264,8 +2264,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 847 + i32.const 192 + i32.const 848 i32.const 63 call $~lib/env/abort unreachable @@ -2285,8 +2285,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 197 + i32.const 192 + i32.const 198 i32.const 44 call $~lib/env/abort unreachable @@ -2317,8 +2317,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 191 + i32.const 192 + i32.const 192 i32.const 44 call $~lib/env/abort unreachable @@ -2336,8 +2336,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 33 + i32.const 192 + i32.const 34 i32.const 44 call $~lib/env/abort unreachable @@ -2654,18 +2654,18 @@ (local $8 i32) (local $9 i32) i32.const 16 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.get $2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $4 local.get $0 local.get $1 i32.shl local.set $5 local.get $5 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate i32.const 2 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register local.set $6 local.get $4 local.tee $7 @@ -2719,8 +2719,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 27 + i32.const 192 + i32.const 28 i32.const 44 call $~lib/env/abort unreachable @@ -2749,7 +2749,7 @@ i32.ge_u if i32.const 0 - i32.const 264 + i32.const 272 i32.const 99 i32.const 61 call $~lib/env/abort @@ -2887,7 +2887,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -2934,7 +2934,7 @@ i32.store offset=8 local.get $7 i32.const 4 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $~lib/typedarray/Int32Array#fill (; 62 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) @@ -3056,7 +3056,7 @@ i32.ge_u if i32.const 0 - i32.const 264 + i32.const 272 i32.const 99 i32.const 61 call $~lib/env/abort @@ -3224,8 +3224,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 115 + i32.const 192 + i32.const 116 i32.const 44 call $~lib/env/abort unreachable @@ -3448,8 +3448,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 279 + i32.const 192 + i32.const 280 i32.const 63 call $~lib/env/abort unreachable @@ -3575,8 +3575,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 361 + i32.const 192 + i32.const 362 i32.const 63 call $~lib/env/abort unreachable @@ -3799,8 +3799,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 525 + i32.const 192 + i32.const 526 i32.const 63 call $~lib/env/abort unreachable @@ -3922,8 +3922,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 607 + i32.const 192 + i32.const 608 i32.const 63 call $~lib/env/abort unreachable @@ -4045,8 +4045,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 689 + i32.const 192 + i32.const 690 i32.const 63 call $~lib/env/abort unreachable @@ -4168,8 +4168,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 771 + i32.const 192 + i32.const 772 i32.const 63 call $~lib/env/abort unreachable @@ -5664,8 +5664,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 109 + i32.const 192 + i32.const 110 i32.const 44 call $~lib/env/abort unreachable @@ -5957,8 +5957,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 273 + i32.const 192 + i32.const 274 i32.const 63 call $~lib/env/abort unreachable @@ -6116,8 +6116,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 355 + i32.const 192 + i32.const 356 i32.const 63 call $~lib/env/abort unreachable @@ -6411,8 +6411,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 519 + i32.const 192 + i32.const 520 i32.const 63 call $~lib/env/abort unreachable @@ -6570,8 +6570,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 601 + i32.const 192 + i32.const 602 i32.const 63 call $~lib/env/abort unreachable @@ -6729,8 +6729,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 683 + i32.const 192 + i32.const 684 i32.const 63 call $~lib/env/abort unreachable @@ -6888,8 +6888,8 @@ i32.ge_u if i32.const 0 - i32.const 184 - i32.const 765 + i32.const 192 + i32.const 766 i32.const 63 call $~lib/env/abort unreachable @@ -8603,7 +8603,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -8619,7 +8619,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -8730,7 +8730,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -8746,7 +8746,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -8857,7 +8857,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -8873,7 +8873,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -8988,7 +8988,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9004,7 +9004,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -9115,7 +9115,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9131,7 +9131,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -9238,7 +9238,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9254,7 +9254,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -9361,7 +9361,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9377,7 +9377,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -9484,7 +9484,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9500,7 +9500,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -9607,7 +9607,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9623,7 +9623,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -9730,7 +9730,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9746,7 +9746,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -9853,7 +9853,7 @@ i32.eq i32.eqz if - i32.const 728 + i32.const 736 i32.const 24 i32.const 365 i32.const 2 @@ -9869,7 +9869,7 @@ i32.eq i32.eqz if - i32.const 776 + i32.const 784 i32.const 24 i32.const 368 i32.const 2 @@ -11901,7 +11901,7 @@ i32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -11913,7 +11913,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -11925,7 +11925,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -12030,7 +12030,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -12053,7 +12053,7 @@ i32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -12065,7 +12065,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -12077,7 +12077,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -12176,7 +12176,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -12199,7 +12199,7 @@ i32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -12211,7 +12211,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -12223,7 +12223,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -12322,7 +12322,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -12349,7 +12349,7 @@ i32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -12361,7 +12361,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -12373,7 +12373,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -12478,7 +12478,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -12501,7 +12501,7 @@ i32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -12513,7 +12513,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -12525,7 +12525,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -12624,7 +12624,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -12643,7 +12643,7 @@ i32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -12655,7 +12655,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -12667,7 +12667,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -12760,7 +12760,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -12779,7 +12779,7 @@ i32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -12791,7 +12791,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -12803,7 +12803,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -12896,7 +12896,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -12916,7 +12916,7 @@ i64.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -12928,7 +12928,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -12940,7 +12940,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -13036,7 +13036,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -13056,7 +13056,7 @@ i64.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -13068,7 +13068,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -13080,7 +13080,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -13176,7 +13176,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -13196,7 +13196,7 @@ f32.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -13208,7 +13208,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -13220,7 +13220,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -13316,7 +13316,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -13336,7 +13336,7 @@ f64.eq i32.eqz if - i32.const 896 + i32.const 904 i32.const 24 i32.const 425 i32.const 4 @@ -13348,7 +13348,7 @@ i32.eq i32.eqz if - i32.const 960 + i32.const 968 i32.const 24 i32.const 426 i32.const 4 @@ -13360,7 +13360,7 @@ i32.eq i32.eqz if - i32.const 1024 + i32.const 1032 i32.const 24 i32.const 427 i32.const 4 @@ -13456,7 +13456,7 @@ i32.eq i32.eqz if - i32.const 1104 + i32.const 1112 i32.const 24 i32.const 430 i32.const 2 @@ -13619,7 +13619,7 @@ i32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -13648,7 +13648,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -13662,7 +13662,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -13676,7 +13676,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -13690,7 +13690,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -13848,7 +13848,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -13895,7 +13895,7 @@ i32.store offset=8 local.get $7 i32.const 5 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 353 ;) (type $FUNCSIG$v) (local $0 i32) @@ -13976,7 +13976,7 @@ i32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -14005,7 +14005,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -14019,7 +14019,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -14033,7 +14033,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -14047,7 +14047,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -14205,7 +14205,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -14252,7 +14252,7 @@ i32.store offset=8 local.get $7 i32.const 6 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 356 ;) (type $FUNCSIG$v) (local $0 i32) @@ -14333,7 +14333,7 @@ i32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -14362,7 +14362,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -14376,7 +14376,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -14390,7 +14390,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -14404,7 +14404,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -14562,7 +14562,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -14609,7 +14609,7 @@ i32.store offset=8 local.get $7 i32.const 7 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 359 ;) (type $FUNCSIG$v) (local $0 i32) @@ -14696,7 +14696,7 @@ i32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -14725,7 +14725,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -14739,7 +14739,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -14753,7 +14753,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -14767,7 +14767,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -14925,7 +14925,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -14972,7 +14972,7 @@ i32.store offset=8 local.get $7 i32.const 8 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 362 ;) (type $FUNCSIG$v) (local $0 i32) @@ -15053,7 +15053,7 @@ i32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -15082,7 +15082,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -15096,7 +15096,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -15110,7 +15110,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -15124,7 +15124,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -15275,7 +15275,7 @@ i32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -15304,7 +15304,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -15318,7 +15318,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -15332,7 +15332,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -15346,7 +15346,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -15504,7 +15504,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -15551,7 +15551,7 @@ i32.store offset=8 local.get $7 i32.const 10 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 367 ;) (type $FUNCSIG$v) (local $0 i32) @@ -15626,7 +15626,7 @@ i32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -15655,7 +15655,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -15669,7 +15669,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -15683,7 +15683,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -15697,7 +15697,7 @@ i32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -15855,7 +15855,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -15902,7 +15902,7 @@ i32.store offset=8 local.get $7 i32.const 11 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 370 ;) (type $FUNCSIG$v) (local $0 i32) @@ -15980,7 +15980,7 @@ i64.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -16009,7 +16009,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -16023,7 +16023,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -16037,7 +16037,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -16051,7 +16051,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -16209,7 +16209,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -16256,7 +16256,7 @@ i32.store offset=8 local.get $7 i32.const 12 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 373 ;) (type $FUNCSIG$v) (local $0 i32) @@ -16334,7 +16334,7 @@ i64.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -16363,7 +16363,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -16377,7 +16377,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -16391,7 +16391,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -16405,7 +16405,7 @@ i64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -16563,7 +16563,7 @@ local.set $3 end i32.const 12 - call $~lib/runtime/runtime.allocate + call $~lib/util/runtime/allocate local.set $7 local.get $5 i32.load @@ -16610,7 +16610,7 @@ i32.store offset=8 local.get $7 i32.const 13 - call $~lib/runtime/runtime.register + call $~lib/util/runtime/register ) (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 376 ;) (type $FUNCSIG$v) (local $0 i32) @@ -16688,7 +16688,7 @@ f32.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -16717,7 +16717,7 @@ f32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -16731,7 +16731,7 @@ f32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -16745,7 +16745,7 @@ f32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -16759,7 +16759,7 @@ f32.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -16913,7 +16913,7 @@ f64.eq i32.eqz if - i32.const 1264 + i32.const 1272 i32.const 24 i32.const 461 i32.const 4 @@ -16942,7 +16942,7 @@ f64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 466 i32.const 2 @@ -16956,7 +16956,7 @@ f64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 467 i32.const 2 @@ -16970,7 +16970,7 @@ f64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 468 i32.const 2 @@ -16984,7 +16984,7 @@ f64.eq i32.eqz if - i32.const 1352 + i32.const 1360 i32.const 24 i32.const 469 i32.const 2 @@ -17529,7 +17529,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 240 + i32.const 248 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -17551,7 +17551,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 312 + i32.const 320 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -17573,7 +17573,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 336 + i32.const 344 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -17595,7 +17595,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 360 + i32.const 368 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -17617,7 +17617,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 384 + i32.const 392 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -17683,7 +17683,7 @@ i32.const 3 i32.const 0 i32.const 15 - i32.const 408 + i32.const 416 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -17699,7 +17699,7 @@ i32.const 5 i32.const 0 i32.const 15 - i32.const 432 + i32.const 440 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt8ArrayEqual i32.eqz @@ -17745,7 +17745,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 456 + i32.const 464 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -17767,7 +17767,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 496 + i32.const 504 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -17789,7 +17789,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 536 + i32.const 544 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -17811,7 +17811,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 576 + i32.const 584 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -17833,7 +17833,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 616 + i32.const 624 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -17903,7 +17903,7 @@ i32.const 3 i32.const 2 i32.const 16 - i32.const 656 + i32.const 664 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz @@ -17919,7 +17919,7 @@ i32.const 5 i32.const 2 i32.const 16 - i32.const 688 + i32.const 696 call $~lib/runtime/runtime.newArray call $std/typedarray/isInt32ArrayEqual i32.eqz