directize more (eliminate table use)

This commit is contained in:
dcode 2019-04-02 16:18:44 +02:00
parent 6bf8276746
commit e1bd0050e2
45 changed files with 4202 additions and 5869 deletions

View File

@ -3650,9 +3650,7 @@ export function compileCall(
); );
return module.createUnreachable(); return module.createUnreachable();
} }
let id = classReference.ensureId(compiler); // involves compile steps return module.createI32(classReference.ensureId());
compiler.currentType = Type.u32;
return module.createI32(id);
} }
case BuiltinSymbols.gc_mark_roots: { case BuiltinSymbols.gc_mark_roots: {
if ( if (
@ -3666,6 +3664,20 @@ export function compileCall(
compiler.currentType = Type.void; compiler.currentType = Type.void;
return module.createCall(BuiltinSymbols.gc_mark_roots, null, NativeType.None); return module.createCall(BuiltinSymbols.gc_mark_roots, null, NativeType.None);
} }
case BuiltinSymbols.gc_mark_members: {
if (
checkTypeAbsent(typeArguments, reportNode, prototype) |
checkArgsRequired(operands, 2, reportNode, compiler)
) {
compiler.currentType = Type.void;
return module.createUnreachable();
}
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.needsTraverse = true;
compiler.currentType = Type.void;
return module.createCall(BuiltinSymbols.gc_mark_members, [ arg0, arg1 ], NativeType.None);
}
} }
// try to defer inline asm to a concrete built-in // try to defer inline asm to a concrete built-in
@ -4101,20 +4113,112 @@ export function compileMarkRoots(compiler: Compiler): void {
); );
} }
// TODO
export function compileMarkMembers(compiler: Compiler): void { export function compileMarkMembers(compiler: Compiler): void {
var program = compiler.program;
var module = compiler.module; var module = compiler.module;
var ftype = compiler.ensureFunctionType(null, Type.void); var usizeType = program.options.usizeType;
var nativeSizeType = usizeType.toNativeType();
var nativeSizeSize = usizeType.byteSize;
var ftype = compiler.ensureFunctionType([ Type.i32, usizeType ], Type.void);
var managedClasses = program.managedClasses;
var markRef = assert(program.markRef);
var names: string[] = [ "invalid" ]; // classId=0 is invalid
var blocks = new Array<ExpressionRef[]>();
var lastId = 0;
var names = new Array<string>(); for (let [id, instance] of managedClasses) {
var current = module.createSwitch(names, "invalid", module.createGetLocal(0, NativeType.I32)); assert(instance.type.isManaged(program));
assert(id == ++lastId);
names.push(instance.internalName);
module.addFunction(BuiltinSymbols.gc_mark_members, ftype, [], module.createBlock(null, [ let traverseImpl = instance.lookupInSelf("__traverse");
module.createBlock("invalid", [
current // if a library element, check if it implements a custom traversal function
]), if (instance.isDeclaredInLibrary && traverseImpl) {
module.createUnreachable() assert(traverseImpl.kind == ElementKind.FUNCTION_PROTOTYPE);
])); let traverseFunc = program.resolver.resolveFunction(<FunctionPrototype>traverseImpl, null);
if (!traverseFunc || !compiler.compileFunction(traverseFunc)) {
blocks.push([
module.createUnreachable()
]);
continue;
}
blocks.push([
module.createCall(traverseFunc.internalName, [
module.createGetLocal(1, nativeSizeType)
], NativeType.None),
module.createReturn()
]);
// otherwise generate one
} else {
// traverse references assigned to own fields
let block = new Array<ExpressionRef>();
let members = instance.members;
if (members) {
for (let member of members.values()) {
if (member.kind == ElementKind.FIELD) {
if ((<Field>member).parent === instance) {
let fieldType = (<Field>member).type;
if (fieldType.isManaged(program)) {
let fieldClass = fieldType.classReference!;
let fieldClassId = fieldClass.ensureId();
let fieldOffset = (<Field>member).memoryOffset;
assert(fieldOffset >= 0);
block.push(
// if ($2 = value) FIELDCLASS~traverse($2)
module.createIf(
module.createTeeLocal(2,
module.createLoad(
nativeSizeSize,
false,
module.createGetLocal(1, nativeSizeType),
nativeSizeType,
fieldOffset
)
),
module.createBlock(null, [
module.createCall(markRef.internalName, [
module.createGetLocal(2, nativeSizeType)
], NativeType.None),
module.createCall(BuiltinSymbols.gc_mark_members, [
module.createI32(fieldClassId),
module.createGetLocal(2, nativeSizeType)
], NativeType.None)
])
)
);
}
}
}
}
}
block.push(module.createReturn());
blocks.push(block);
}
}
var current: ExpressionRef;
if (blocks.length) {
// create a big switch mapping class ids to traversal logic
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]);
}
compiler.compileFunction(markRef);
// wrap the function with a terminating unreachable
current = module.createBlock(null, [
current,
module.createUnreachable()
]);
} else {
// simplify
current = module.createUnreachable();
}
module.addFunction(BuiltinSymbols.gc_mark_members, ftype, [ nativeSizeType ], current);
} }
// Helpers // Helpers

View File

@ -7,6 +7,7 @@ import {
compileCall as compileBuiltinCall, compileCall as compileBuiltinCall,
compileAbort, compileAbort,
compileMarkRoots, compileMarkRoots,
compileMarkMembers,
BuiltinSymbols BuiltinSymbols
} from "./builtins"; } from "./builtins";
@ -392,6 +393,12 @@ export class Compiler extends DiagnosticEmitter {
if (!explicitStartFunction) module.setStart(funcRef); if (!explicitStartFunction) module.setStart(funcRef);
} }
// compile gc integration if necessary
if (this.needsTraverse) {
compileMarkRoots(this);
compileMarkMembers(this);
}
// update the heap base pointer // update the heap base pointer
var memoryOffset = this.memoryOffset; var memoryOffset = this.memoryOffset;
memoryOffset = i64_align(memoryOffset, options.usizeType.byteSize); memoryOffset = i64_align(memoryOffset, options.usizeType.byteSize);
@ -443,12 +450,6 @@ export class Compiler extends DiagnosticEmitter {
if (file.source.isEntry) this.ensureModuleExports(file); if (file.source.isEntry) this.ensureModuleExports(file);
} }
// set up gc
if (this.needsTraverse) {
compileMarkRoots(this);
// compileMarkMembers(this);
}
// expose module capabilities // expose module capabilities
var capabilities = Capability.NONE; var capabilities = Capability.NONE;
if (program.options.isWasm64) capabilities |= Capability.WASM64; if (program.options.isWasm64) capabilities |= Capability.WASM64;
@ -1412,7 +1413,7 @@ export class Compiler extends DiagnosticEmitter {
} else { } else {
let length = stringValue.length; let length = stringValue.length;
let buffer = new Uint8Array(rtHeaderSize + (length << 1)); let buffer = new Uint8Array(rtHeaderSize + (length << 1));
program.writeRuntimeHeader(buffer, 0, stringInstance.ensureId(this), length << 1); program.writeRuntimeHeader(buffer, 0, stringInstance.ensureId(), length << 1);
for (let i = 0; i < length; ++i) { for (let i = 0; i < length; ++i) {
writeI16(stringValue.charCodeAt(i), buffer, rtHeaderSize + (i << 1)); writeI16(stringValue.charCodeAt(i), buffer, rtHeaderSize + (i << 1));
} }
@ -1438,7 +1439,7 @@ export class Compiler extends DiagnosticEmitter {
var runtimeHeaderSize = program.runtimeHeaderSize; var runtimeHeaderSize = program.runtimeHeaderSize;
var buf = new Uint8Array(runtimeHeaderSize + byteLength); var buf = new Uint8Array(runtimeHeaderSize + byteLength);
program.writeRuntimeHeader(buf, 0, bufferInstance.ensureId(this), byteLength); program.writeRuntimeHeader(buf, 0, bufferInstance.ensureId(), byteLength);
var pos = runtimeHeaderSize; var pos = runtimeHeaderSize;
var nativeType = elementType.toNativeType(); var nativeType = elementType.toNativeType();
switch (nativeType) { switch (nativeType) {
@ -1525,7 +1526,7 @@ export class Compiler extends DiagnosticEmitter {
var arrayLength = i32(bufferLength / elementType.byteSize); var arrayLength = i32(bufferLength / elementType.byteSize);
var buf = new Uint8Array(runtimeHeaderSize + arrayInstanceSize); var buf = new Uint8Array(runtimeHeaderSize + arrayInstanceSize);
program.writeRuntimeHeader(buf, 0, arrayInstance.ensureId(this), arrayInstanceSize); program.writeRuntimeHeader(buf, 0, arrayInstance.ensureId(), arrayInstanceSize);
var bufferAddress32 = i64_low(bufferSegment.offset) + runtimeHeaderSize; var bufferAddress32 = i64_low(bufferSegment.offset) + runtimeHeaderSize;
assert(!program.options.isWasm64); // TODO assert(!program.options.isWasm64); // TODO
@ -6828,7 +6829,7 @@ export class Compiler extends DiagnosticEmitter {
// makeArray(length, classId, alignLog2, staticBuffer) // makeArray(length, classId, alignLog2, staticBuffer)
let expr = this.makeCallDirect(assert(program.makeArrayInstance), [ let expr = this.makeCallDirect(assert(program.makeArrayInstance), [
module.createI32(length), module.createI32(length),
module.createI32(arrayInstance.ensureId(this)), module.createI32(arrayInstance.ensureId()),
program.options.isWasm64 program.options.isWasm64
? module.createI64(elementType.alignLog2) ? module.createI64(elementType.alignLog2)
: module.createI32(elementType.alignLog2), : module.createI32(elementType.alignLog2),
@ -6862,7 +6863,7 @@ export class Compiler extends DiagnosticEmitter {
module.createSetLocal(tempThis.index, module.createSetLocal(tempThis.index,
this.makeCallDirect(makeArrayInstance, [ this.makeCallDirect(makeArrayInstance, [
module.createI32(length), module.createI32(length),
module.createI32(arrayInstance.ensureId(this)), module.createI32(arrayInstance.ensureId()),
program.options.isWasm64 program.options.isWasm64
? module.createI64(elementType.alignLog2) ? module.createI64(elementType.alignLog2)
: module.createI32(elementType.alignLog2), : module.createI32(elementType.alignLog2),
@ -8123,7 +8124,7 @@ export class Compiler extends DiagnosticEmitter {
? module.createI64(classInstance.currentMemoryOffset) ? module.createI64(classInstance.currentMemoryOffset)
: module.createI32(classInstance.currentMemoryOffset) : module.createI32(classInstance.currentMemoryOffset)
], reportNode), ], reportNode),
module.createI32(classInstance.ensureId(this)) module.createI32(classInstance.ensureId())
], reportNode); ], reportNode);
} }
} }
@ -8328,7 +8329,7 @@ export class Compiler extends DiagnosticEmitter {
module.createBreak(label, module.createBreak(label,
module.createBinary(BinaryOp.EqI32, // classId == class.id module.createBinary(BinaryOp.EqI32, // classId == class.id
module.createTeeLocal(idTemp.index, idExpr), module.createTeeLocal(idTemp.index, idExpr),
module.createI32(classInstance.ensureId(this)) module.createI32(classInstance.ensureId())
), ),
module.createI32(1) // ? true module.createI32(1) // ? true
) )
@ -8408,7 +8409,7 @@ export class Compiler extends DiagnosticEmitter {
var baseInstance = classInstance.base; var baseInstance = classInstance.base;
if (baseInstance) { if (baseInstance) {
let baseType = baseInstance.type; let baseType = baseInstance.type;
let baseClassId = baseInstance.ensureId(this); let baseClassId = baseInstance.ensureId();
assert(baseType.isManaged(program)); assert(baseType.isManaged(program));
body.push( body.push(
// BASECLASS~traverse.call(this) // BASECLASS~traverse.call(this)
@ -8429,7 +8430,7 @@ export class Compiler extends DiagnosticEmitter {
let fieldType = (<Field>member).type; let fieldType = (<Field>member).type;
if (fieldType.isManaged(program)) { if (fieldType.isManaged(program)) {
let fieldClass = fieldType.classReference!; let fieldClass = fieldType.classReference!;
let fieldClassId = fieldClass.ensureId(this); let fieldClassId = fieldClass.ensureId();
let fieldOffset = (<Field>member).memoryOffset; let fieldOffset = (<Field>member).memoryOffset;
assert(fieldOffset >= 0); assert(fieldOffset >= 0);
hasRefFields = true; hasRefFields = true;

View File

@ -346,6 +346,8 @@ export class Program extends DiagnosticEmitter {
instancesByName: Map<string,Element> = new Map(); instancesByName: Map<string,Element> = new Map();
/** Classes backing basic types like `i32`. */ /** Classes backing basic types like `i32`. */
typeClasses: Map<TypeKind,Class> = new Map(); typeClasses: Map<TypeKind,Class> = new Map();
/** Managed classes contained in the program, by id. */
managedClasses: Map<i32,Class> = new Map();
// runtime references // runtime references
@ -3017,22 +3019,13 @@ export class Class extends TypedElement {
private _id: u32 = 0; private _id: u32 = 0;
/** Ensures that this class has an id. */ /** Ensures that this class has an id. */
ensureId(compiler: Compiler): i32 { ensureId(): i32 {
var id = this._id; var id = this._id;
if (!id) { if (!id) {
assert(!this.hasDecorator(DecoratorFlags.UNMANAGED)); assert(!this.hasDecorator(DecoratorFlags.UNMANAGED));
let program = this.program; let program = this.program;
if (program.collectorKind == CollectorKind.TRACING) { this._id = id = program.nextClassId++;
// tracing GC uses the function index of the iteration function as the program.managedClasses.set(id, this);
// class's id so it can call the id directly, which avoids to generate
// a helper function with a big switch mapping ids to function indexes.
// here: might be called recursively in makeIterate, so reserve the id.
this._id = id = compiler.makeTraverseReserve(this);
compiler.makeTraverse(this, id);
} else {
// counting GC or none just increments without any iterate functions
this._id = id = program.nextClassId++;
}
} }
return id; return id;
} }

View File

@ -7,6 +7,7 @@ import { ArrayBuffer, ArrayBufferView } from "./arraybuffer";
import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number"; import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number";
import { isArray as builtin_isArray } from "./builtins"; import { isArray as builtin_isArray } from "./builtins";
import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from "./util/error"; import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from "./util/error";
import { __gc_mark_members } from "./gc";
/** Ensures that the given array has _at least_ the specified capacity. */ /** Ensures that the given array has _at least_ the specified capacity. */
function ensureCapacity(array: ArrayBufferView, minCapacity: i32, alignLog2: u32): void { function ensureCapacity(array: ArrayBufferView, minCapacity: i32, alignLog2: u32): void {
@ -815,11 +816,11 @@ export class Array<T> extends ArrayBufferView {
if (isNullable<T>()) { if (isNullable<T>()) {
if (val) { if (val) {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<T>(), val); __gc_mark_members(__runtime_id<T>(), val);
} }
} else { } else {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<T>(), val); __gc_mark_members(__runtime_id<T>(), val);
} }
cur += sizeof<usize>(); cur += sizeof<usize>();
} }

View File

@ -133,27 +133,30 @@ var iter: ManagedObject;
} }
} }
function maybeInit(): void {
if (state == State.INIT) {
if (TRACE) trace("itcm~init");
fromSpace = changetype<ManagedObjectList>(memory.allocate(HEADER_SIZE));
if (TRACE) trace(" fromSpace =", 1, objToRef(fromSpace));
fromSpace.classId = -1; // would error
fromSpace.payloadSize = 0;
fromSpace.clear();
toSpace = changetype<ManagedObjectList>(memory.allocate(HEADER_SIZE));
if (TRACE) trace(" toSpace =", 1, objToRef(toSpace));
toSpace.classId = -1; // would error
toSpace.payloadSize = 0;
toSpace.clear();
iter = toSpace;
state = State.IDLE;
if (TRACE) trace("itcm~state = IDLE");
}
}
/** Performs a single step according to the current state. */ /** Performs a single step according to the current state. */
function step(): void { function step(): void {
var obj: ManagedObject; var obj: ManagedObject;
switch (state) { switch (state) {
case State.INIT: { case State.INIT: unreachable();
if (TRACE) trace("itcm~step/INIT");
fromSpace = changetype<ManagedObjectList>(memory.allocate(HEADER_SIZE));
if (TRACE) trace(" fromSpace =", 1, objToRef(fromSpace));
fromSpace.classId = -1; // would error
fromSpace.payloadSize = 0;
fromSpace.clear();
toSpace = changetype<ManagedObjectList>(memory.allocate(HEADER_SIZE));
if (TRACE) trace(" toSpace =", 1, objToRef(toSpace));
toSpace.classId = -1; // would error
toSpace.payloadSize = 0;
toSpace.clear();
iter = toSpace;
state = State.IDLE;
if (TRACE) trace("itcm~state = IDLE");
// fall-through
}
case State.IDLE: { case State.IDLE: {
if (TRACE) trace("itcm~step/IDLE"); if (TRACE) trace("itcm~step/IDLE");
__gc_mark_roots(); __gc_mark_roots();
@ -167,8 +170,7 @@ function step(): void {
if (TRACE) trace("itcm~step/MARK", 1, objToRef(obj)); if (TRACE) trace("itcm~step/MARK", 1, objToRef(obj));
iter = obj; iter = obj;
obj.color = i32(!white); obj.color = i32(!white);
// TODO: directize through __gc_mark_members __gc_mark_members(obj.classId, objToRef(obj));
call_indirect(obj.classId, objToRef(obj)); // CLASS~traverse(ref)
} else { } else {
__gc_mark_roots(); __gc_mark_roots();
if (TRACE) trace("itcm~step/MARK finish"); if (TRACE) trace("itcm~step/MARK finish");
@ -220,20 +222,18 @@ function objToRef(obj: ManagedObject): usize {
@global @unsafe @global @unsafe
export function __ref_collect(): void { export function __ref_collect(): void {
if (TRACE) trace("itcm.collect"); if (TRACE) trace("itcm.collect");
// begin collecting if not yet collecting maybeInit();
switch (state) { // finish the current state
case State.INIT:
case State.IDLE: step();
}
// finish the cycle
while (state != State.IDLE) step(); while (state != State.IDLE) step();
// perform a full cycle
do step(); while (state != State.IDLE);
} }
// @ts-ignore: decorator // @ts-ignore: decorator
@global @unsafe @global @unsafe
export function __ref_register(ref: usize): void { export function __ref_register(ref: usize): void {
if (TRACE) trace("itcm.register", 1, ref); if (TRACE) trace("itcm.register", 1, ref);
step(); // also makes sure it's initialized maybeInit();
var obj = refToObj(ref); var obj = refToObj(ref);
obj.color = white; obj.color = white;
fromSpace.push(obj); // sets gc-reserved header fields fromSpace.push(obj); // sets gc-reserved header fields
@ -243,6 +243,7 @@ export function __ref_register(ref: usize): void {
@global @unsafe @global @unsafe
export function __ref_link(ref: usize, parentRef: usize): void { export function __ref_link(ref: usize, parentRef: usize): void {
if (TRACE) trace("itcm.link", 2, ref, parentRef); if (TRACE) trace("itcm.link", 2, ref, parentRef);
maybeInit();
var parent = refToObj(parentRef); var parent = refToObj(parentRef);
if (parent.color == i32(!white) && refToObj(ref).color == white) parent.makeGray(); if (parent.color == i32(!white) && refToObj(ref).color == white) parent.makeGray();
} }
@ -251,6 +252,7 @@ export function __ref_link(ref: usize, parentRef: usize): void {
@global @unsafe @global @unsafe
export function __ref_mark(ref: usize): void { export function __ref_mark(ref: usize): void {
if (TRACE) trace("itcm.mark", 1, ref); if (TRACE) trace("itcm.mark", 1, ref);
maybeInit();
var obj = refToObj(ref); var obj = refToObj(ref);
if (obj.color == white) obj.makeGray(); if (obj.color == white) obj.makeGray();
} }

View File

@ -1,6 +1,7 @@
import { HEADER, HEADER_SIZE, MAX_BYTELENGTH } from "./util/runtime"; import { HEADER, HEADER_SIZE, MAX_BYTELENGTH } from "./util/runtime";
import { runtime, __runtime_id } from "./runtime"; import { runtime, __runtime_id } from "./runtime";
import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error";
import { __gc_mark_members } from "./gc";
// NOTE: DO NOT USE YET! // NOTE: DO NOT USE YET!
@ -81,11 +82,11 @@ export class FixedArray<T> {
if (isNullable<T>()) { if (isNullable<T>()) {
if (val) { if (val) {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<T>(), val); __gc_mark_members(__runtime_id<T>(), val);
} }
} else { } else {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<T>(), val); __gc_mark_members(__runtime_id<T>(), val);
} }
cur += sizeof<usize>(); cur += sizeof<usize>();
} }

View File

@ -2,6 +2,7 @@
import { HASH } from "./util/hash"; import { HASH } from "./util/hash";
import { __runtime_id } from "./runtime"; import { __runtime_id } from "./runtime";
import { __gc_mark_members } from "./gc";
// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht // A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht
@ -283,11 +284,11 @@ export class Map<K,V> {
if (isNullable<K>()) { if (isNullable<K>()) {
if (val) { if (val) {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<K>(), val); __gc_mark_members(__runtime_id<K>(), val);
} }
} else { } else {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<K>(), val); __gc_mark_members(__runtime_id<K>(), val);
} }
} }
if (isManaged<V>()) { if (isManaged<V>()) {
@ -295,11 +296,11 @@ export class Map<K,V> {
if (isNullable<V>()) { if (isNullable<V>()) {
if (val) { if (val) {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<V>(), val); __gc_mark_members(__runtime_id<V>(), val);
} }
} else { } else {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<V>(), val); __gc_mark_members(__runtime_id<V>(), val);
} }
} }
} }

View File

@ -2,6 +2,7 @@
import { HASH } from "./util/hash"; import { HASH } from "./util/hash";
import { __runtime_id } from "./runtime"; import { __runtime_id } from "./runtime";
import { __gc_mark_members } from "./gc";
// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht // A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht
@ -212,11 +213,11 @@ export class Set<K> {
if (isNullable<K>()) { if (isNullable<K>()) {
if (val) { if (val) {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<K>(), val); __gc_mark_members(__runtime_id<K>(), val);
} }
} else { } else {
__ref_mark(val); __ref_mark(val);
call_direct(__runtime_id<K>(), val); __gc_mark_members(__runtime_id<K>(), val);
} }
} }
cur += ENTRY_SIZE<K>(); cur += ENTRY_SIZE<K>();

View File

@ -58,7 +58,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -72,7 +72,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -100,7 +100,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable

View File

@ -74,7 +74,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -88,7 +88,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -128,7 +128,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable

View File

@ -1,21 +1,17 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(memory $0 1) (memory $0 1)
(data (i32.const 8) "\01\00\00\00\10") (data (i32.const 8) "\01\00\00\00\10")
(data (i32.const 24) "c\00l\00a\00s\00s\00.\00t\00s") (data (i32.const 24) "c\00l\00a\00s\00s\00.\00t\00s")
(table $0 2 funcref) (table $0 1 funcref)
(elem (i32.const 0) $start $~lib/string/String~traverse) (elem (i32.const 0) $start)
(global $~lib/capabilities i32 (i32.const 2)) (global $~lib/capabilities i32 (i32.const 2))
(export "memory" (memory $0)) (export "memory" (memory $0))
(export "table" (table $0)) (export "table" (table $0))
(export "test" (func $class/test)) (export "test" (func $class/test))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(func $~lib/string/String~traverse (; 0 ;) (type $FUNCSIG$vi) (param $0 i32) (func $class/test (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
nop
)
(func $class/test (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
drop drop
@ -36,7 +32,7 @@
i32.store8 offset=6 i32.store8 offset=6
local.get $0 local.get $0
) )
(func $start (; 2 ;) (type $FUNCSIG$v) (func $start (; 1 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,6 +1,5 @@
(module (module
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$fff (func (param f32 f32) (result f32))) (type $FUNCSIG$fff (func (param f32 f32) (result f32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
@ -10,8 +9,8 @@
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1) (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 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")
(table $0 2 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $class/Animal.ONE (mut i32) (i32.const 1)) (global $class/Animal.ONE (mut i32) (i32.const 1))
(global $~lib/memory/HEAP_BASE i32 (i32.const 40)) (global $~lib/memory/HEAP_BASE i32 (i32.const 40))
(global $~lib/capabilities i32 (i32.const 2)) (global $~lib/capabilities i32 (i32.const 2))
@ -20,17 +19,14 @@
(export "test" (func $class/test)) (export "test" (func $class/test))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $class/Animal.add (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $1 i32)
)
(func $class/Animal.add (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
i32.add i32.add
global.get $class/Animal.ONE global.get $class/Animal.ONE
i32.add i32.add
) )
(func $class/Animal.sub<f32> (; 3 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32) (func $class/Animal.sub<f32> (; 2 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
local.get $0 local.get $0
local.get $1 local.get $1
f32.sub f32.sub
@ -38,7 +34,7 @@
f32.convert_i32_s f32.convert_i32_s
f32.add f32.add
) )
(func $start:class (; 4 ;) (type $FUNCSIG$v) (func $start:class (; 3 ;) (type $FUNCSIG$v)
i32.const 4 i32.const 4
i32.const 4 i32.const 4
i32.eq i32.eq
@ -62,14 +58,14 @@
call $class/Animal.sub<f32> call $class/Animal.sub<f32>
drop drop
) )
(func $class/Animal<f64>#instanceAdd (; 5 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $class/Animal<f64>#instanceAdd (; 4 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1 local.get $1
local.get $2 local.get $2
i32.add i32.add
global.get $class/Animal.ONE global.get $class/Animal.ONE
i32.add i32.add
) )
(func $class/Animal<f64>#instanceSub<f32> (; 6 ;) (type $FUNCSIG$fiff) (param $0 i32) (param $1 f32) (param $2 f32) (result f32) (func $class/Animal<f64>#instanceSub<f32> (; 5 ;) (type $FUNCSIG$fiff) (param $0 i32) (param $1 f32) (param $2 f32) (result f32)
local.get $1 local.get $1
local.get $2 local.get $2
f32.sub f32.sub
@ -77,7 +73,7 @@
f32.convert_i32_s f32.convert_i32_s
f32.add f32.add
) )
(func $class/test (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $class/test (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
@ -122,9 +118,9 @@
local.set $2 local.set $2
local.get $2 local.get $2
) )
(func $start (; 8 ;) (type $FUNCSIG$v) (func $start (; 7 ;) (type $FUNCSIG$v)
call $start:class call $start:class
) )
(func $null (; 9 ;) (type $FUNCSIG$v) (func $null (; 8 ;) (type $FUNCSIG$v)
) )
) )

View File

@ -3,9 +3,9 @@
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$i (func (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -14,8 +14,8 @@
(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 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 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 88) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(table $0 11 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0))
(global $~lib/collector/itcm/state (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/fromSpace (mut i32) (i32.const 0))
@ -38,10 +38,7 @@
(export "table" (table $0)) (export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/tlsf/Root#setSLMap (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
nop
)
(func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -61,7 +58,7 @@
local.get $2 local.get $2
i32.store offset=4 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 (; 2 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -96,7 +93,7 @@
local.get $3 local.get $3
i32.store offset=96 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 (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
i32.const -4 i32.const -4
@ -130,7 +127,7 @@
end end
local.get $0 local.get $0
) )
(func $~lib/allocator/tlsf/fls<usize> (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/fls<usize> (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -146,7 +143,7 @@
i32.clz i32.clz
i32.sub 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 (; 5 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -180,7 +177,7 @@
i32.add i32.add
i32.load offset=96 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 (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -199,7 +196,7 @@
i32.add i32.add
i32.load offset=4 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 (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -328,7 +325,7 @@
end end
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 (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 2 i32.const 2
@ -358,7 +355,7 @@
end end
local.get $0 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 (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 1 i32.const 1
@ -403,7 +400,7 @@
local.get $0 local.get $0
i32.store i32.store
) )
(func $~lib/allocator/tlsf/Root#insert (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/allocator/tlsf/Root#insert (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -633,7 +630,7 @@
i32.or i32.or
call $~lib/allocator/tlsf/Root#setSLMap 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 (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $1 local.get $1
@ -756,7 +753,7 @@
local.get $1 local.get $1
call $~lib/allocator/tlsf/Root#insert call $~lib/allocator/tlsf/Root#insert
) )
(func $~lib/allocator/tlsf/ffs<usize> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/ffs<usize> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -770,7 +767,7 @@
local.get $0 local.get $0
i32.ctz 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 (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $1 local.get $1
@ -882,7 +879,7 @@
end end
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 (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $1 local.get $1
@ -993,7 +990,7 @@
i32.const 8 i32.const 8
i32.add i32.add
) )
(func $~lib/allocator/tlsf/__mem_allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/__mem_allocate (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -1163,7 +1160,7 @@
local.get $1 local.get $1
call $~lib/allocator/tlsf/Root#use call $~lib/allocator/tlsf/Root#use
) )
(func $~lib/runtime/runtime.allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
@ -1190,185 +1187,50 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $~lib/allocator/tlsf/__mem_free (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/itcm/maybeInit (; 17 ;) (type $FUNCSIG$v)
(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 (; 19 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
block $break|0 global.get $~lib/collector/itcm/state
block $case3|0 i32.eqz
block $case2|0 if
block $case1|0 i32.const 16
global.get $~lib/collector/itcm/state call $~lib/allocator/tlsf/__mem_allocate
local.tee $0 global.set $~lib/collector/itcm/fromSpace
if global.get $~lib/collector/itcm/fromSpace
local.get $0
i32.const 1
i32.sub
br_table $case1|0 $case2|0 $case3|0 $break|0
end
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
call $~lib/gc/__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.const 16
i32.add
local.get $0
i32.load
call_indirect (type $FUNCSIG$vi)
else
call $~lib/gc/__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 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 global.get $~lib/collector/itcm/toSpace
i32.ne local.tee $0
if i32.const -1
local.get $0 i32.store
i32.load offset=8 local.get $0
i32.const -4 i32.const 0
i32.and i32.store offset=4
global.set $~lib/collector/itcm/iter local.get $0
local.get $0 local.get $0
i32.const 120 i32.store offset=8
i32.ge_u local.get $0
if local.get $0
local.get $0 i32.store offset=12
call $~lib/allocator/tlsf/__mem_free global.get $~lib/collector/itcm/toSpace
end global.set $~lib/collector/itcm/iter
else i32.const 1
global.get $~lib/collector/itcm/toSpace global.set $~lib/collector/itcm/state
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 end
) )
(func $~lib/collector/itcm/ManagedObjectList#push (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/collector/itcm/ManagedObjectList#push (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
@ -1396,8 +1258,8 @@
local.get $1 local.get $1
i32.store offset=12 i32.store offset=12
) )
(func $~lib/collector/itcm/__ref_register (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/itcm/__ref_register (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
call $~lib/collector/itcm/step call $~lib/collector/itcm/maybeInit
local.get $0 local.get $0
i32.const 16 i32.const 16
i32.sub i32.sub
@ -1413,7 +1275,7 @@
local.get $0 local.get $0
call $~lib/collector/itcm/ManagedObjectList#push call $~lib/collector/itcm/ManagedObjectList#push
) )
(func $~lib/runtime/runtime.register (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.const 120 i32.const 120
@ -1450,7 +1312,7 @@
end end
local.get $0 local.get $0
) )
(func $constructor/CtorConditionallyAllocates#constructor (; 23 ;) (type $FUNCSIG$i) (result i32) (func $constructor/CtorConditionallyAllocates#constructor (; 21 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
block (result i32) block (result i32)
global.get $constructor/b global.get $constructor/b
@ -1473,7 +1335,7 @@
end end
local.get $0 local.get $0
) )
(func $start:constructor (; 24 ;) (type $FUNCSIG$v) (func $start:constructor (; 22 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
i32.const 0 i32.const 0
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
@ -1545,128 +1407,10 @@
call $constructor/CtorConditionallyAllocates#constructor call $constructor/CtorConditionallyAllocates#constructor
global.set $constructor/ctorConditionallyAllocates global.set $constructor/ctorConditionallyAllocates
) )
(func $start (; 25 ;) (type $FUNCSIG$v) (func $start (; 23 ;) (type $FUNCSIG$v)
call $start:constructor call $start:constructor
) )
(func $null (; 26 ;) (type $FUNCSIG$v) (func $null (; 24 ;) (type $FUNCSIG$v)
nop nop
) )
(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_mark (; 28 ;) (type $FUNCSIG$vi) (param $0 i32)
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/gc/__gc_mark_roots (; 29 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $constructor/emptyCtor
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/emptyCtorWithFieldInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/emptyCtorWithFieldNoInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/none
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/justFieldInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/justFieldNoInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorReturns
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorConditionallyReturns
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorAllocates
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorConditionallyAllocates
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
)
) )

View File

@ -3,16 +3,16 @@
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1) (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 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\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 11 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse $constructor/EmptyCtor~traverse $constructor/EmptyCtorWithFieldInit~traverse $constructor/EmptyCtorWithFieldNoInit~traverse $constructor/None~traverse $constructor/JustFieldInit~traverse $constructor/JustFieldNoInit~traverse $constructor/CtorConditionallyReturns~traverse $constructor/CtorAllocates~traverse $constructor/CtorConditionallyAllocates~traverse) (elem (i32.const 0) $null)
(global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) (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 (mut i32) (i32.const 0))
(global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4)) (global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4))
@ -72,10 +72,7 @@
local.get $1 local.get $1
i32.store offset=2912 i32.store offset=2912
) )
(func $~lib/string/String~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $1 i32)
)
(func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -96,7 +93,7 @@
local.get $2 local.get $2
i32.store offset=4 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 (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -133,11 +130,11 @@
local.get $3 local.get $3
i32.store offset=96 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 (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 0 i32.const 0
i32.load offset=2912 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 (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.load i32.load
@ -177,7 +174,7 @@
local.get $1 local.get $1
end end
) )
(func $~lib/allocator/tlsf/fls<usize> (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/fls<usize> (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
i32.ne i32.ne
@ -195,7 +192,7 @@
i32.clz i32.clz
i32.sub 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 (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -231,7 +228,7 @@
i32.add i32.add
i32.load offset=96 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 (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -251,7 +248,7 @@
i32.add i32.add
i32.load offset=4 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 (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -396,7 +393,7 @@
end end
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 (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.load i32.load
@ -428,7 +425,7 @@
local.get $1 local.get $1
end 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 (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1 local.get $1
i32.load i32.load
global.get $~lib/allocator/tlsf/FREE global.get $~lib/allocator/tlsf/FREE
@ -474,7 +471,7 @@
local.get $1 local.get $1
i32.store i32.store
) )
(func $~lib/allocator/tlsf/Root#insert (; 14 ;) (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 $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -740,7 +737,7 @@
i32.or i32.or
call $~lib/allocator/tlsf/Root#setSLMap 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 (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -893,7 +890,7 @@
call $~lib/allocator/tlsf/Root#insert call $~lib/allocator/tlsf/Root#insert
i32.const 1 i32.const 1
) )
(func $~lib/allocator/tlsf/ffs<usize> (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/ffs<usize> (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
i32.ne i32.ne
@ -909,7 +906,7 @@
local.get $0 local.get $0
i32.ctz i32.ctz
) )
(func $~lib/allocator/tlsf/ffs<u32> (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/ffs<u32> (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
i32.ne i32.ne
@ -925,7 +922,7 @@
local.get $0 local.get $0
i32.ctz 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 (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1066,7 +1063,7 @@
end end
local.get $6 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 (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -1194,7 +1191,7 @@
global.get $~lib/allocator/tlsf/Block.INFO global.get $~lib/allocator/tlsf/Block.INFO
i32.add i32.add
) )
(func $~lib/allocator/tlsf/__mem_allocate (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/__mem_allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -1430,12 +1427,12 @@
local.get $0 local.get $0
call $~lib/allocator/tlsf/Root#use 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 (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
call $~lib/allocator/tlsf/__mem_allocate call $~lib/allocator/tlsf/__mem_allocate
return return
) )
(func $~lib/runtime/runtime.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
call $~lib/runtime/runtime.adjust call $~lib/runtime/runtime.adjust
@ -1457,10 +1454,7 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $constructor/EmptyCtor~traverse (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/itcm/ManagedObjectList#clear (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
local.get $0 local.get $0
i32.store offset=8 i32.store offset=8
@ -1468,223 +1462,52 @@
local.get $0 local.get $0
i32.store offset=12 i32.store offset=12
) )
(func $~lib/collector/itcm/ManagedObject#get:next (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/collector/itcm/maybeInit (; 23 ;) (type $FUNCSIG$v)
local.get $0 global.get $~lib/collector/itcm/state
i32.load offset=8 i32.const 0
i32.const 3 i32.eq
i32.const -1
i32.xor
i32.and
)
(func $~lib/collector/itcm/ManagedObject#set:color (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
local.get $0
i32.load offset=8
i32.const 3
i32.const -1
i32.xor
i32.and
local.get $1
i32.or
i32.store offset=8
)
(func $~lib/allocator/tlsf/__mem_free (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
if if
global.get $~lib/allocator/tlsf/ROOT global.get $~lib/util/runtime/HEADER_SIZE
local.set $1 call $~lib/memory/memory.allocate
local.get $1 global.set $~lib/collector/itcm/fromSpace
if global.get $~lib/collector/itcm/fromSpace
local.get $0 i32.const -1
global.get $~lib/allocator/tlsf/Block.INFO i32.store
i32.sub global.get $~lib/collector/itcm/fromSpace
local.set $2 i32.const 0
local.get $2 i32.store offset=4
i32.load global.get $~lib/collector/itcm/fromSpace
local.set $3 call $~lib/collector/itcm/ManagedObjectList#clear
local.get $3 global.get $~lib/util/runtime/HEADER_SIZE
global.get $~lib/allocator/tlsf/FREE call $~lib/memory/memory.allocate
i32.and global.set $~lib/collector/itcm/toSpace
i32.eqz global.get $~lib/collector/itcm/toSpace
i32.eqz i32.const -1
if i32.store
i32.const 0 global.get $~lib/collector/itcm/toSpace
i32.const 24 i32.const 0
i32.const 518 i32.store offset=4
i32.const 6 global.get $~lib/collector/itcm/toSpace
call $~lib/env/abort call $~lib/collector/itcm/ManagedObjectList#clear
unreachable global.get $~lib/collector/itcm/toSpace
end global.set $~lib/collector/itcm/iter
local.get $2 i32.const 1
local.get $3 global.set $~lib/collector/itcm/state
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 end
) )
(func $~lib/memory/memory.free (; 28 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/itcm/ManagedObject#set:color (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0 local.get $0
call $~lib/allocator/tlsf/__mem_free 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/step (; 29 ;) (type $FUNCSIG$v) (func $~lib/collector/itcm/ManagedObject#set:next (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(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
block
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
end
block
call $~lib/gc/__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
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
local.get $0
i32.load
call_indirect (type $FUNCSIG$vi)
else
call $~lib/gc/__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/ManagedObject#set:next (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $0 local.get $0
@ -1694,7 +1517,7 @@
i32.or i32.or
i32.store offset=8 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 (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
@ -1712,10 +1535,10 @@
local.get $1 local.get $1
i32.store offset=12 i32.store offset=12
) )
(func $~lib/collector/itcm/__ref_register (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/itcm/__ref_register (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
call $~lib/collector/itcm/step call $~lib/collector/itcm/maybeInit
block $~lib/collector/itcm/refToObj|inlined.0 (result i32) block $~lib/collector/itcm/refToObj|inlined.0 (result i32)
local.get $0 local.get $0
local.set $1 local.set $1
@ -1731,7 +1554,7 @@
local.get $2 local.get $2
call $~lib/collector/itcm/ManagedObjectList#push 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/runtime/runtime.register (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -1769,7 +1592,7 @@
call $~lib/collector/itcm/__ref_register call $~lib/collector/itcm/__ref_register
local.get $0 local.get $0
) )
(func $constructor/EmptyCtor#constructor (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $constructor/EmptyCtor#constructor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -1781,10 +1604,7 @@
end end
local.get $0 local.get $0
) )
(func $constructor/EmptyCtorWithFieldInit~traverse (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/EmptyCtorWithFieldInit#constructor (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $constructor/EmptyCtorWithFieldInit#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -1799,10 +1619,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $constructor/EmptyCtorWithFieldNoInit~traverse (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/EmptyCtorWithFieldNoInit#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $constructor/EmptyCtorWithFieldNoInit#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -1817,9 +1634,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $constructor/None~traverse (; 39 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/None#constructor (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
)
(func $constructor/None#constructor (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -1831,10 +1646,7 @@
end end
local.get $0 local.get $0
) )
(func $constructor/JustFieldInit~traverse (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/JustFieldInit#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $constructor/JustFieldInit#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -1849,10 +1661,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $constructor/JustFieldNoInit~traverse (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/JustFieldNoInit#constructor (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $constructor/JustFieldNoInit#constructor (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -1867,14 +1676,11 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $constructor/CtorReturns#constructor (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $constructor/CtorReturns#constructor (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 0 i32.const 0
call $~lib/memory/memory.allocate call $~lib/memory/memory.allocate
) )
(func $constructor/CtorConditionallyReturns~traverse (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/CtorConditionallyReturns#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $constructor/CtorConditionallyReturns#constructor (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
global.get $constructor/b global.get $constructor/b
if if
i32.const 0 i32.const 0
@ -1892,10 +1698,7 @@
end end
local.get $0 local.get $0
) )
(func $constructor/CtorAllocates~traverse (; 48 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/CtorAllocates#constructor (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $constructor/CtorAllocates#constructor (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
@ -1911,10 +1714,7 @@
drop drop
local.get $0 local.get $0
) )
(func $constructor/CtorConditionallyAllocates~traverse (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) (func $constructor/CtorConditionallyAllocates#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $constructor/CtorConditionallyAllocates#constructor (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
global.get $constructor/b global.get $constructor/b
if if
block (result i32) block (result i32)
@ -1942,7 +1742,7 @@
end end
local.get $0 local.get $0
) )
(func $start:constructor (; 52 ;) (type $FUNCSIG$v) (func $start:constructor (; 39 ;) (type $FUNCSIG$v)
i32.const 0 i32.const 0
call $constructor/EmptyCtor#constructor call $constructor/EmptyCtor#constructor
global.set $constructor/emptyCtor global.set $constructor/emptyCtor
@ -1974,139 +1774,9 @@
call $constructor/CtorConditionallyAllocates#constructor call $constructor/CtorConditionallyAllocates#constructor
global.set $constructor/ctorConditionallyAllocates global.set $constructor/ctorConditionallyAllocates
) )
(func $start (; 53 ;) (type $FUNCSIG$v) (func $start (; 40 ;) (type $FUNCSIG$v)
call $start:constructor call $start:constructor
) )
(func $null (; 54 ;) (type $FUNCSIG$v) (func $null (; 41 ;) (type $FUNCSIG$v)
)
(func $~lib/collector/itcm/ManagedObject#get:color (; 55 ;) (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#unlink (; 56 ;) (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 (; 57 ;) (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_mark (; 58 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
block $~lib/collector/itcm/refToObj|inlined.1 (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/gc/__gc_mark_roots (; 59 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $constructor/emptyCtor
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/emptyCtorWithFieldInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/emptyCtorWithFieldNoInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/none
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/justFieldInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/justFieldNoInit
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorReturns
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorConditionallyReturns
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorAllocates
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
global.get $constructor/ctorConditionallyAllocates
local.tee $0
if
local.get $0
call $~lib/collector/itcm/__ref_mark
end
) )
) )

View File

@ -1,9 +1,9 @@
(module (module
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
@ -19,18 +19,16 @@
(data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") (data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r")
(data (i32.const 96) "\02\00\00\00\n") (data (i32.const 96) "\02\00\00\00\n")
(data (i32.const 112) "g\00c\00.\00t\00s") (data (i32.const 112) "g\00c\00.\00t\00s")
(data (i32.const 128) "\02\00\00\00\0e") (data (i32.const 128) "\02\00\00\00&")
(data (i32.const 144) "g\00c\00.\00m\00a\00r\00k") (data (i32.const 144) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
(data (i32.const 160) "\02\00\00\00&") (data (i32.const 184) "\02\00\00\00\0e")
(data (i32.const 176) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") (data (i32.const 200) "g\00c\00.\00l\00i\00n\00k")
(data (i32.const 216) "\02\00\00\00\0e") (data (i32.const 216) "\02\00\00\00\12")
(data (i32.const 232) "g\00c\00.\00l\00i\00n\00k") (data (i32.const 232) "g\00c\00.\00u\00n\00l\00i\00n\00k")
(data (i32.const 248) "\02\00\00\00\12") (data (i32.const 256) "\02\00\00\00\14")
(data (i32.const 264) "g\00c\00.\00u\00n\00l\00i\00n\00k") (data (i32.const 272) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t")
(data (i32.const 288) "\02\00\00\00\14") (table $0 1 funcref)
(data (i32.const 304) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t") (elem (i32.const 0) $null)
(table $0 6 funcref)
(elem (i32.const 0) $null $gc/Ref~traverse $gc/Ref~traverse $~lib/set/Set<usize>~traverse $~lib/set/Set<usize>~traverse $gc/Ref~traverse)
(global $gc/_dummy/collect_count (mut i32) (i32.const 0)) (global $gc/_dummy/collect_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0))
@ -40,8 +38,6 @@
(global $gc/_dummy/unlink_count (mut i32) (i32.const 0)) (global $gc/_dummy/unlink_count (mut i32) (i32.const 0))
(global $gc/_dummy/unlink_ref (mut i32) (i32.const 0)) (global $gc/_dummy/unlink_ref (mut i32) (i32.const 0))
(global $gc/_dummy/unlink_parentRef (mut i32) (i32.const 0)) (global $gc/_dummy/unlink_parentRef (mut i32) (i32.const 0))
(global $gc/_dummy/mark_count (mut i32) (i32.const 0))
(global $gc/_dummy/mark_ref (mut i32) (i32.const 0))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/gc/gc.implemented i32 (i32.const 1)) (global $~lib/gc/gc.implemented i32 (i32.const 1))
@ -163,10 +159,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $gc/Ref~traverse (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) (func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 72 i32.const 72
i32.const 1 i32.const 1
local.get $0 local.get $0
@ -183,10 +176,10 @@
local.get $0 local.get $0
global.set $gc/_dummy/register_ref 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/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.const 324 i32.const 292
i32.le_u i32.le_u
if if
i32.const 0 i32.const 0
@ -218,32 +211,7 @@
call $gc/_dummy/__ref_register call $gc/_dummy/__ref_register
local.get $0 local.get $0
) )
(func $gc/_dummy/__ref_mark (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 144
i32.const 1
local.get $0
f64.convert_i32_u
f64.const 0
f64.const 0
f64.const 0
f64.const 0
call $~lib/env/trace
global.get $gc/_dummy/mark_count
i32.const 1
i32.add
global.set $gc/_dummy/mark_count
local.get $0
global.set $gc/_dummy/mark_ref
)
(func $~lib/set/Set<usize>~traverse (; 9 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.load
call $gc/_dummy/__ref_mark
local.get $0
i32.load offset=8
call $gc/_dummy/__ref_mark
)
(func $~lib/memory/memory.fill (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
block $~lib/util/memory/memset|inlined.0 block $~lib/util/memory/memset|inlined.0
local.get $1 local.get $1
@ -454,14 +422,14 @@
end end
end end
) )
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 1073741808 i32.const 1073741808
i32.gt_u i32.gt_u
if if
i32.const 0 i32.const 0
i32.const 176 i32.const 144
i32.const 54 i32.const 54
i32.const 43 i32.const 43
call $~lib/env/abort call $~lib/env/abort
@ -473,11 +441,11 @@
local.get $0 local.get $0
call $~lib/memory/memory.fill call $~lib/memory/memory.fill
local.get $1 local.get $1
i32.const 5 i32.const 4
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $gc/_dummy/__ref_link (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $gc/_dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 232 i32.const 200
i32.const 2 i32.const 2
local.get $0 local.get $0
f64.convert_i32_u f64.convert_i32_u
@ -496,8 +464,8 @@
local.get $0 local.get $0
global.set $gc/_dummy/link_parentRef global.set $gc/_dummy/link_parentRef
) )
(func $gc/_dummy/__ref_unlink (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $gc/_dummy/__ref_unlink (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 264 i32.const 232
i32.const 2 i32.const 2
local.get $0 local.get $0
f64.convert_i32_u f64.convert_i32_u
@ -516,7 +484,7 @@
local.get $1 local.get $1
global.set $gc/_dummy/unlink_parentRef global.set $gc/_dummy/unlink_parentRef
) )
(func $~lib/set/Set<usize>#clear (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<usize>#clear (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -579,7 +547,7 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<usize>#constructor (; 15 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<usize>#constructor (; 12 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
@ -607,7 +575,7 @@
call $~lib/set/Set<usize>#clear call $~lib/set/Set<usize>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash32 (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/hash/hash32 (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 255 i32.const 255
i32.and i32.and
@ -638,7 +606,7 @@
i32.const 16777619 i32.const 16777619
i32.mul i32.mul
) )
(func $~lib/set/Set<usize>#find (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<usize>#find (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -681,7 +649,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<usize>#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<usize>#has (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -690,7 +658,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<usize>#rehash (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<usize>#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -825,7 +793,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<usize>#add (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<usize>#add (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -908,7 +876,7 @@
i32.store i32.store
end end
) )
(func $~lib/gc/gc.retain (; 21 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/gc/gc.retain (; 18 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
global.get $~lib/gc/ROOT global.get $~lib/gc/ROOT
local.tee $1 local.tee $1
@ -924,7 +892,7 @@
call $gc/_dummy/__ref_link call $gc/_dummy/__ref_link
end end
) )
(func $~lib/set/Set<usize>#delete (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<usize>#delete (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -984,7 +952,7 @@
call $~lib/set/Set<usize>#rehash call $~lib/set/Set<usize>#rehash
end end
) )
(func $~lib/gc/gc.release (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/gc/gc.release (; 20 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
global.get $~lib/gc/ROOT global.get $~lib/gc/ROOT
local.tee $1 local.tee $1
@ -999,8 +967,8 @@
call $gc/_dummy/__ref_unlink call $gc/_dummy/__ref_unlink
end end
) )
(func $~lib/gc/gc.collect (; 24 ;) (type $FUNCSIG$v) (func $~lib/gc/gc.collect (; 21 ;) (type $FUNCSIG$v)
i32.const 304 i32.const 272
i32.const 0 i32.const 0
f64.const 0 f64.const 0
f64.const 0 f64.const 0
@ -1013,7 +981,7 @@
i32.add i32.add
global.set $gc/_dummy/collect_count global.set $gc/_dummy/collect_count
) )
(func $gc/main (; 25 ;) (type $FUNCSIG$v) (func $gc/main (; 22 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
@ -1021,7 +989,7 @@
global.get $~lib/started global.get $~lib/started
i32.eqz i32.eqz
if if
i32.const 328 i32.const 296
global.set $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset global.set $~lib/allocator/arena/offset
@ -1164,7 +1132,7 @@
unreachable unreachable
end end
) )
(func $~lib/util/memory/memcpy (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/util/memory/memcpy (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2011,7 +1979,7 @@
i32.store8 i32.store8
end end
) )
(func $~lib/memory/memory.copy (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.copy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
block $~lib/util/memory/memmove|inlined.0 block $~lib/util/memory/memmove|inlined.0
@ -2205,7 +2173,7 @@
end end
end end
) )
(func $~lib/runtime/runtime.reallocate (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.reallocate (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2239,7 +2207,7 @@
i32.shl i32.shl
i32.const 0 i32.const 0
local.get $0 local.get $0
i32.const 324 i32.const 292
i32.gt_u i32.gt_u
select select
local.get $3 local.get $3
@ -2277,7 +2245,7 @@
i32.eq i32.eq
if if
local.get $0 local.get $0
i32.const 324 i32.const 292
i32.le_u i32.le_u
if if
i32.const 0 i32.const 0
@ -2310,9 +2278,9 @@
i32.store offset=4 i32.store offset=4
local.get $0 local.get $0
) )
(func $~lib/runtime/runtime.discard (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.discard (; 26 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
i32.const 324 i32.const 292
i32.le_u i32.le_u
if if
i32.const 0 i32.const 0
@ -2337,7 +2305,7 @@
unreachable unreachable
end end
) )
(func $~lib/runtime/runtime.makeArray (; 30 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (func $~lib/runtime/runtime.makeArray (; 27 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
(local $6 i32) (local $6 i32)
@ -2353,7 +2321,7 @@
i32.shl i32.shl
local.tee $6 local.tee $6
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 5 i32.const 4
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $7 local.tee $7
local.tee $1 local.tee $1
@ -2393,10 +2361,10 @@
end end
local.get $4 local.get $4
) )
(func $null (; 31 ;) (type $FUNCSIG$v) (func $null (; 28 ;) (type $FUNCSIG$v)
nop nop
) )
(func $~lib/runtime/runtime.makeArray|trampoline (; 32 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (func $~lib/runtime/runtime.makeArray|trampoline (; 29 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
block $1of1 block $1of1
block $0of1 block $0of1
block $outOfRange block $outOfRange
@ -2416,7 +2384,7 @@
local.get $3 local.get $3
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
) )
(func $~lib/setargc (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/setargc (; 30 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
global.set $~lib/argc global.set $~lib/argc
) )

View File

@ -1,9 +1,9 @@
(module (module
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
@ -15,13 +15,12 @@
(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 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 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\n\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00t\00s\00") (data (i32.const 96) "\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00t\00s\00")
(data (i32.const 128) "\02\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00m\00a\00r\00k\00") (data (i32.const 128) "\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 160) "\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 184) "\02\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00")
(data (i32.const 216) "\02\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00") (data (i32.const 216) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00")
(data (i32.const 248) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00") (data (i32.const 256) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00")
(data (i32.const 288) "\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)
(table $0 6 funcref) (elem (i32.const 0) $null)
(elem (i32.const 0) $null $gc/Ref~traverse $~lib/string/String~traverse $~lib/set/Set<usize>~traverse $~lib/set/Set<usize>~traverse $~lib/arraybuffer/ArrayBuffer~traverse)
(global $gc/_dummy/collect_count (mut i32) (i32.const 0)) (global $gc/_dummy/collect_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0))
@ -42,7 +41,7 @@
(global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808)) (global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808))
(global $~lib/gc/ROOT (mut i32) (i32.const 0)) (global $~lib/gc/ROOT (mut i32) (i32.const 0))
(global $~lib/started (mut i32) (i32.const 0)) (global $~lib/started (mut i32) (i32.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 324)) (global $~lib/memory/HEAP_BASE i32 (i32.const 292))
(global $~lib/argc (mut i32) (i32.const 0)) (global $~lib/argc (mut i32) (i32.const 0))
(global $~lib/capabilities i32 (i32.const 2)) (global $~lib/capabilities i32 (i32.const 2))
(export "memory" (memory $0)) (export "memory" (memory $0))
@ -178,12 +177,7 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $gc/Ref~traverse (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
)
(func $~lib/string/String~traverse (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 72 i32.const 72
i32.const 1 i32.const 1
local.get $0 local.get $0
@ -200,7 +194,7 @@
local.get $0 local.get $0
global.set $gc/_dummy/register_ref global.set $gc/_dummy/register_ref
) )
(func $~lib/runtime/runtime.register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -238,7 +232,7 @@
call $gc/_dummy/__ref_register call $gc/_dummy/__ref_register
local.get $0 local.get $0
) )
(func $gc/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $gc/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -250,35 +244,7 @@
end end
local.get $0 local.get $0
) )
(func $gc/_dummy/__ref_mark (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/memory/memory.fill (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
i32.const 144
i32.const 1
local.get $0
f64.convert_i32_u
f64.const 0
f64.const 0
f64.const 0
f64.const 0
call $~lib/env/trace
global.get $gc/_dummy/mark_count
i32.const 1
i32.add
global.set $gc/_dummy/mark_count
local.get $0
global.set $gc/_dummy/mark_ref
)
(func $~lib/set/Set<usize>~traverse (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $gc/_dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $gc/_dummy/__ref_mark
)
(func $~lib/memory/memory.fill (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -535,17 +501,14 @@
end end
end end
) )
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $1 i32)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $1 local.get $1
global.get $~lib/util/runtime/MAX_BYTELENGTH global.get $~lib/util/runtime/MAX_BYTELENGTH
i32.gt_u i32.gt_u
if if
i32.const 0 i32.const 0
i32.const 176 i32.const 144
i32.const 54 i32.const 54
i32.const 43 i32.const 43
call $~lib/env/abort call $~lib/env/abort
@ -559,11 +522,11 @@
local.get $1 local.get $1
call $~lib/memory/memory.fill call $~lib/memory/memory.fill
local.get $2 local.get $2
i32.const 5 i32.const 4
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $gc/_dummy/__ref_link (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $gc/_dummy/__ref_link (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 232 i32.const 200
i32.const 2 i32.const 2
local.get $0 local.get $0
f64.convert_i32_u f64.convert_i32_u
@ -582,8 +545,8 @@
local.get $0 local.get $0
global.set $gc/_dummy/link_parentRef global.set $gc/_dummy/link_parentRef
) )
(func $gc/_dummy/__ref_unlink (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $gc/_dummy/__ref_unlink (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 264 i32.const 232
i32.const 2 i32.const 2
local.get $0 local.get $0
f64.convert_i32_u f64.convert_i32_u
@ -602,7 +565,7 @@
local.get $1 local.get $1
global.set $gc/_dummy/unlink_parentRef global.set $gc/_dummy/unlink_parentRef
) )
(func $~lib/set/Set<usize>#clear (; 18 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<usize>#clear (; 13 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -671,7 +634,7 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<usize>#constructor (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<usize>#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
@ -705,7 +668,7 @@
call $~lib/set/Set<usize>#clear call $~lib/set/Set<usize>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash32 (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/hash/hash32 (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const -2128831035 i32.const -2128831035
local.set $1 local.set $1
@ -747,7 +710,7 @@
local.set $1 local.set $1
local.get $1 local.get $1
) )
(func $~lib/set/Set<usize>#find (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<usize>#find (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -798,7 +761,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<usize>#has (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<usize>#has (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -813,7 +776,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<usize>#rehash (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<usize>#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -983,7 +946,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<usize>#add (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<usize>#add (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1081,7 +1044,7 @@
i32.store i32.store
end end
) )
(func $~lib/gc/gc.retain (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/gc/gc.retain (; 20 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
global.get $~lib/gc/ROOT global.get $~lib/gc/ROOT
local.set $1 local.set $1
@ -1098,7 +1061,7 @@
call $gc/_dummy/__ref_link call $gc/_dummy/__ref_link
end end
) )
(func $~lib/set/Set<usize>#delete (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<usize>#delete (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1171,7 +1134,7 @@
end end
i32.const 1 i32.const 1
) )
(func $~lib/gc/gc.release (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/gc/gc.release (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
global.get $~lib/gc/ROOT global.get $~lib/gc/ROOT
local.set $1 local.set $1
@ -1188,8 +1151,8 @@
call $gc/_dummy/__ref_unlink call $gc/_dummy/__ref_unlink
end end
) )
(func $gc/_dummy/__ref_collect (; 28 ;) (type $FUNCSIG$v) (func $gc/_dummy/__ref_collect (; 23 ;) (type $FUNCSIG$v)
i32.const 304 i32.const 272
i32.const 0 i32.const 0
f64.const 0 f64.const 0
f64.const 0 f64.const 0
@ -1202,10 +1165,10 @@
i32.add i32.add
global.set $gc/_dummy/collect_count global.set $gc/_dummy/collect_count
) )
(func $~lib/gc/gc.collect (; 29 ;) (type $FUNCSIG$v) (func $~lib/gc/gc.collect (; 24 ;) (type $FUNCSIG$v)
call $gc/_dummy/__ref_collect call $gc/_dummy/__ref_collect
) )
(func $gc/main (; 30 ;) (type $FUNCSIG$v) (func $gc/main (; 25 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
@ -1368,7 +1331,7 @@
unreachable unreachable
end end
) )
(func $~lib/util/memory/memcpy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/util/memory/memcpy (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2569,7 +2532,7 @@
i32.store8 i32.store8
end end
) )
(func $~lib/memory/memory.copy (; 32 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.copy (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2800,14 +2763,14 @@
end end
end end
) )
(func $~lib/allocator/arena/__mem_free (; 33 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/arena/__mem_free (; 28 ;) (type $FUNCSIG$vi) (param $0 i32)
nop nop
) )
(func $~lib/memory/memory.free (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/memory/memory.free (; 29 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
call $~lib/allocator/arena/__mem_free call $~lib/allocator/arena/__mem_free
) )
(func $~lib/runtime/runtime.reallocate (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.reallocate (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2911,7 +2874,7 @@
i32.store offset=4 i32.store offset=4
local.get $0 local.get $0
) )
(func $~lib/runtime/runtime.discard (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.discard (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -2945,7 +2908,7 @@
local.get $1 local.get $1
call $~lib/memory/memory.free call $~lib/memory/memory.free
) )
(func $~lib/runtime/runtime.makeArray (; 37 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (func $~lib/runtime/runtime.makeArray (; 32 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
(local $6 i32) (local $6 i32)
@ -2965,7 +2928,7 @@
local.get $2 local.get $2
i32.shl i32.shl
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 5 i32.const 4
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $6 local.set $6
local.get $4 local.get $4
@ -3009,7 +2972,7 @@
end end
local.get $4 local.get $4
) )
(func $start (; 38 ;) (type $FUNCSIG$v) (func $start (; 33 ;) (type $FUNCSIG$v)
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
i32.const 7 i32.const 7
i32.add i32.add
@ -3024,9 +2987,9 @@
call $~lib/set/Set<usize>#constructor call $~lib/set/Set<usize>#constructor
global.set $~lib/gc/ROOT global.set $~lib/gc/ROOT
) )
(func $null (; 39 ;) (type $FUNCSIG$v) (func $null (; 34 ;) (type $FUNCSIG$v)
) )
(func $~lib/runtime/runtime.makeArray|trampoline (; 40 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (func $~lib/runtime/runtime.makeArray|trampoline (; 35 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
block $1of1 block $1of1
block $0of1 block $0of1
block $outOfRange block $outOfRange
@ -3046,7 +3009,7 @@
local.get $3 local.get $3
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
) )
(func $~lib/setargc (; 41 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/setargc (; 36 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
global.set $~lib/argc global.set $~lib/argc
) )

View File

@ -1,7 +1,7 @@
(module (module
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$i (func (result i32)))
@ -14,8 +14,8 @@
(data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") (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 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 112) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s")
(table $0 3 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $gc/global-assign/Ref~traverse $gc/global-assign/Ref~traverse) (elem (i32.const 0) $null)
(global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0))
(global $gc/_dummy/link_count (mut i32) (i32.const 0)) (global $gc/_dummy/link_count (mut i32) (i32.const 0))
@ -112,10 +112,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $gc/global-assign/Ref~traverse (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 72 i32.const 72
i32.const 1 i32.const 1
local.get $0 local.get $0
@ -132,7 +129,7 @@
local.get $0 local.get $0
global.set $gc/_dummy/register_ref global.set $gc/_dummy/register_ref
) )
(func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 152 i32.const 152
@ -167,7 +164,7 @@
call $gc/_dummy/__ref_register call $gc/_dummy/__ref_register
local.get $0 local.get $0
) )
(func $start:gc/global-assign (; 7 ;) (type $FUNCSIG$v) (func $start:gc/global-assign (; 6 ;) (type $FUNCSIG$v)
i32.const 152 i32.const 152
global.set $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset
@ -239,7 +236,7 @@
unreachable unreachable
end end
) )
(func $gc/global-assign/main (; 8 ;) (type $FUNCSIG$v) (func $gc/global-assign/main (; 7 ;) (type $FUNCSIG$v)
global.get $~lib/started global.get $~lib/started
i32.eqz i32.eqz
if if
@ -248,7 +245,7 @@
global.set $~lib/started global.set $~lib/started
end end
) )
(func $null (; 9 ;) (type $FUNCSIG$v) (func $null (; 8 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,8 +1,8 @@
(module (module
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -11,8 +11,8 @@
(data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (data (i32.const 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 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 96) "\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00")
(table $0 3 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $gc/global-assign/Ref~traverse $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $gc/_dummy/collect_count (mut i32) (i32.const 0)) (global $gc/_dummy/collect_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0))
@ -156,12 +156,7 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $gc/global-assign/Ref~traverse (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
)
(func $~lib/string/String~traverse (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 72 i32.const 72
i32.const 1 i32.const 1
local.get $0 local.get $0
@ -178,7 +173,7 @@
local.get $0 local.get $0
global.set $gc/_dummy/register_ref global.set $gc/_dummy/register_ref
) )
(func $~lib/runtime/runtime.register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -216,7 +211,7 @@
call $gc/_dummy/__ref_register call $gc/_dummy/__ref_register
local.get $0 local.get $0
) )
(func $gc/global-assign/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $gc/global-assign/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -228,7 +223,7 @@
end end
local.get $0 local.get $0
) )
(func $start:gc/global-assign (; 11 ;) (type $FUNCSIG$v) (func $start:gc/global-assign (; 9 ;) (type $FUNCSIG$v)
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
i32.const 7 i32.const 7
i32.add i32.add
@ -320,7 +315,7 @@
unreachable unreachable
end end
) )
(func $gc/global-assign/main (; 12 ;) (type $FUNCSIG$v) (func $gc/global-assign/main (; 10 ;) (type $FUNCSIG$v)
global.get $~lib/started global.get $~lib/started
i32.eqz i32.eqz
if if
@ -329,9 +324,9 @@
global.set $~lib/started global.set $~lib/started
end end
) )
(func $start (; 13 ;) (type $FUNCSIG$v) (func $start (; 11 ;) (type $FUNCSIG$v)
call $start:gc/global-assign call $start:gc/global-assign
) )
(func $null (; 14 ;) (type $FUNCSIG$v) (func $null (; 12 ;) (type $FUNCSIG$v)
) )
) )

View File

@ -1,7 +1,7 @@
(module (module
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$i (func (result i32)))
@ -14,8 +14,8 @@
(data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r") (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 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 112) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s")
(table $0 3 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $gc/global-init/Ref~traverse $gc/global-init/Ref~traverse) (elem (i32.const 0) $null)
(global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0))
(global $gc/_dummy/link_count (mut i32) (i32.const 0)) (global $gc/_dummy/link_count (mut i32) (i32.const 0))
@ -111,10 +111,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $gc/global-init/Ref~traverse (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) (func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 72 i32.const 72
i32.const 1 i32.const 1
local.get $0 local.get $0
@ -131,7 +128,7 @@
local.get $0 local.get $0
global.set $gc/_dummy/register_ref global.set $gc/_dummy/register_ref
) )
(func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 148 i32.const 148
@ -166,7 +163,7 @@
call $gc/_dummy/__ref_register call $gc/_dummy/__ref_register
local.get $0 local.get $0
) )
(func $start:gc/global-init (; 7 ;) (type $FUNCSIG$v) (func $start:gc/global-init (; 6 ;) (type $FUNCSIG$v)
i32.const 152 i32.const 152
global.set $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset
@ -236,7 +233,7 @@
unreachable unreachable
end end
) )
(func $gc/global-init/main (; 8 ;) (type $FUNCSIG$v) (func $gc/global-init/main (; 7 ;) (type $FUNCSIG$v)
global.get $~lib/started global.get $~lib/started
i32.eqz i32.eqz
if if
@ -245,7 +242,7 @@
global.set $~lib/started global.set $~lib/started
end end
) )
(func $null (; 9 ;) (type $FUNCSIG$v) (func $null (; 8 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,8 +1,8 @@
(module (module
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -11,8 +11,8 @@
(data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (data (i32.const 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 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 96) "\02\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00")
(table $0 3 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $gc/global-init/Ref~traverse $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $gc/_dummy/collect_count (mut i32) (i32.const 0)) (global $gc/_dummy/collect_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_count (mut i32) (i32.const 0)) (global $gc/_dummy/register_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_ref (mut i32) (i32.const 0)) (global $gc/_dummy/register_ref (mut i32) (i32.const 0))
@ -155,12 +155,7 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $gc/global-init/Ref~traverse (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
)
(func $~lib/string/String~traverse (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 72 i32.const 72
i32.const 1 i32.const 1
local.get $0 local.get $0
@ -177,7 +172,7 @@
local.get $0 local.get $0
global.set $gc/_dummy/register_ref global.set $gc/_dummy/register_ref
) )
(func $~lib/runtime/runtime.register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -215,7 +210,7 @@
call $gc/_dummy/__ref_register call $gc/_dummy/__ref_register
local.get $0 local.get $0
) )
(func $gc/global-init/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $gc/global-init/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -227,7 +222,7 @@
end end
local.get $0 local.get $0
) )
(func $start:gc/global-init (; 11 ;) (type $FUNCSIG$v) (func $start:gc/global-init (; 9 ;) (type $FUNCSIG$v)
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
i32.const 7 i32.const 7
i32.add i32.add
@ -317,7 +312,7 @@
unreachable unreachable
end end
) )
(func $gc/global-init/main (; 12 ;) (type $FUNCSIG$v) (func $gc/global-init/main (; 10 ;) (type $FUNCSIG$v)
global.get $~lib/started global.get $~lib/started
i32.eqz i32.eqz
if if
@ -326,9 +321,9 @@
global.set $~lib/started global.set $~lib/started
end end
) )
(func $start (; 13 ;) (type $FUNCSIG$v) (func $start (; 11 ;) (type $FUNCSIG$v)
call $start:gc/global-init call $start:gc/global-init
) )
(func $null (; 14 ;) (type $FUNCSIG$v) (func $null (; 12 ;) (type $FUNCSIG$v)
) )
) )

File diff suppressed because it is too large Load Diff

View File

@ -6,21 +6,26 @@ import { HEADER_SIZE } from "util/runtime";
assert(HEADER_SIZE == 16); assert(HEADER_SIZE == 16);
assert(gc.implemented); assert(gc.implemented);
gc.collect(); // trigger init
class Ref { class Ref {
inner: Ref; inner: Ref;
} }
trace("# ref = new Ref()"); function makeGarbage(): void {
var ref = new Ref(); trace("# ref = new Ref()");
trace("# arr = new Array(1)"); var ref = new Ref();
var arr = new Array<Ref | null>(1); trace("# arr = new Array(1)");
trace("# arr[0] = ref"); var arr = new Array<Ref | null>(1);
arr[0] = ref; trace("# arr[0] = ref");
trace("# arr[0] = null"); arr[0] = ref;
arr[0] = null; trace("# arr[0] = null");
arr[0] = null;
trace("# new Ref()");
new Ref();
}
gc.collect(); // FIXME: should do nothing yet, but collects arr.data ? makeGarbage();
gc.collect();
// should have sweeped four objects (incl. arr.buffer)
@start export function main(): void {} @start export function main(): void {}

File diff suppressed because it is too large Load Diff

View File

@ -27,7 +27,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -41,7 +41,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -64,7 +64,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable

View File

@ -39,7 +39,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -53,7 +53,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -81,7 +81,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -114,7 +114,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -128,7 +128,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -296,7 +296,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -310,7 +310,7 @@
if if
i32.const 0 i32.const 0
i32.const 16 i32.const 16
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable

View File

@ -1,5 +1,4 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
@ -11,21 +10,21 @@
(data (i32.const 25) "\01\02") (data (i32.const 25) "\01\02")
(data (i32.const 32) "\02\00\00\00\10") (data (i32.const 32) "\02\00\00\00\10")
(data (i32.const 48) "\18\00\00\00\18\00\00\00\03\00\00\00\03") (data (i32.const 48) "\18\00\00\00\18\00\00\00\03\00\00\00\03")
(data (i32.const 64) "\04\00\00\00(") (data (i32.const 64) "\03\00\00\00(")
(data (i32.const 80) "s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") (data (i32.const 80) "s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s")
(data (i32.const 120) "\04\00\00\00\1a") (data (i32.const 120) "\03\00\00\00\1a")
(data (i32.const 136) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (data (i32.const 136) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
(data (i32.const 168) "\01\00\00\00\0c") (data (i32.const 168) "\01\00\00\00\0c")
(data (i32.const 188) "\01\00\00\00\02") (data (i32.const 188) "\01\00\00\00\02")
(data (i32.const 200) "\05\00\00\00\10") (data (i32.const 200) "\04\00\00\00\10")
(data (i32.const 216) "\b8\00\00\00\b8\00\00\00\0c\00\00\00\03") (data (i32.const 216) "\b8\00\00\00\b8\00\00\00\0c\00\00\00\03")
(data (i32.const 232) "\01") (data (i32.const 232) "\01")
(data (i32.const 248) "\05\00\00\00\10") (data (i32.const 248) "\04\00\00\00\10")
(data (i32.const 264) "\f8\00\00\00\f8") (data (i32.const 264) "\f8\00\00\00\f8")
(data (i32.const 280) "\04\00\00\00\1e") (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 296) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(table $0 13 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~traverse $~lib/array/Array<i8>~traverse $~lib/array/Array<i8>~traverse $~lib/arraybuffer/ArrayBuffer~traverse $~lib/array/Array<i8>~traverse $~lib/array/Array<i8>~traverse $~lib/arraybuffer/ArrayBuffer~traverse $~lib/array/Array<std/array-literal/Ref>~traverse $~lib/array/Array<std/array-literal/Ref>~traverse $~lib/arraybuffer/ArrayBuffer~traverse $~lib/array/Array<std/array-literal/Ref>~traverse $~lib/array/Array<std/array-literal/Ref>~traverse) (elem (i32.const 0) $null)
(global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264)) (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264))
(global $std/array-literal/i (mut i32) (i32.const 0)) (global $std/array-literal/i (mut i32) (i32.const 0))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
@ -39,15 +38,7 @@
(export "table" (table $0)) (export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/array/Array<i8>#__get (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
nop
)
(func $~lib/array/Array<i8>~traverse (; 2 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.load
drop
)
(func $~lib/array/Array<i8>#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
local.get $0 local.get $0
i32.load offset=8 i32.load offset=8
@ -55,7 +46,7 @@
if if
i32.const 0 i32.const 0
i32.const 136 i32.const 136
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -66,7 +57,7 @@
i32.add i32.add
i32.load8_s i32.load8_s
) )
(func $~lib/array/Array<i32>#__get (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<i32>#__get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
local.get $0 local.get $0
i32.load offset=8 i32.load offset=8
@ -76,7 +67,7 @@
if if
i32.const 0 i32.const 0
i32.const 136 i32.const 136
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -89,7 +80,7 @@
i32.add i32.add
i32.load i32.load
) )
(func $~lib/allocator/arena/__mem_allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -151,7 +142,7 @@
global.set $~lib/allocator/arena/offset global.set $~lib/allocator/arena/offset
local.get $1 local.get $1
) )
(func $~lib/runtime/runtime.allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
@ -178,7 +169,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $~lib/runtime/runtime.register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.const 328 i32.const 328
@ -211,7 +202,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $~lib/runtime/runtime.makeArray (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.makeArray (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
i32.const 16 i32.const 16
@ -246,47 +237,19 @@
i32.store offset=12 i32.store offset=12
local.get $0 local.get $0
) )
(func $std/array-literal/Ref#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) (func $std/array-literal/Ref#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
i32.const 0
call $~lib/runtime/runtime.allocate
i32.const 5
call $~lib/runtime/runtime.register
)
(func $std/array-literal/RefWithCtor#constructor (; 8 ;) (type $FUNCSIG$i) (result i32)
i32.const 0 i32.const 0
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 7 i32.const 7
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/array/Array<std/array-literal/Ref>~traverse (; 10 ;) (type $FUNCSIG$vi) (param $0 i32) (func $start:std/array-literal (; 9 ;) (type $FUNCSIG$v)
(local $1 i32)
local.get $0
i32.load
drop
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
drop
local.get $1
i32.const 4
i32.add
local.set $1
br $continue|0
end
end
)
(func $std/array-literal/RefWithCtor#constructor (; 11 ;) (type $FUNCSIG$i) (result i32)
i32.const 0
call $~lib/runtime/runtime.allocate
i32.const 10
call $~lib/runtime/runtime.register
)
(func $start:std/array-literal (; 12 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
@ -480,7 +443,7 @@
end end
i32.const 0 i32.const 0
global.set $std/array-literal/i global.set $std/array-literal/i
i32.const 5 i32.const 4
i32.const 2 i32.const 2
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
local.tee $2 local.tee $2
@ -556,7 +519,7 @@
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
end end
i32.const 8 i32.const 6
i32.const 2 i32.const 2
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
local.tee $2 local.tee $2
@ -584,7 +547,7 @@
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
end end
i32.const 11 i32.const 8
i32.const 2 i32.const 2
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
local.tee $2 local.tee $2
@ -613,10 +576,10 @@
unreachable unreachable
end end
) )
(func $start (; 13 ;) (type $FUNCSIG$v) (func $start (; 10 ;) (type $FUNCSIG$v)
call $start:std/array-literal call $start:std/array-literal
) )
(func $null (; 14 ;) (type $FUNCSIG$v) (func $null (; 11 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,9 +1,9 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32))) (type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
@ -11,15 +11,15 @@
(memory $0 1) (memory $0 1)
(data (i32.const 8) "\01\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\01\02") (data (i32.const 8) "\01\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\01\02")
(data (i32.const 32) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03\00\00\00") (data (i32.const 32) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03\00\00\00")
(data (i32.const 64) "\04\00\00\00(\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00") (data (i32.const 64) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00")
(data (i32.const 120) "\04\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") (data (i32.const 120) "\03\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
(data (i32.const 168) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") (data (i32.const 168) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00")
(data (i32.const 200) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\00\00\00\b8\00\00\00\0c\00\00\00\03\00\00\00") (data (i32.const 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 232) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
(data (i32.const 248) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 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) "\04\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (data (i32.const 280) "\03\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
(table $0 13 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~traverse $~lib/array/Array<i8>~traverse $~lib/array/Array<i8>~traverse $~lib/string/String~traverse $~lib/array/Array<i32>~traverse $~lib/array/Array<i32>~traverse $std/array-literal/Ref~traverse $~lib/array/Array<std/array-literal/Ref>~traverse $~lib/array/Array<std/array-literal/Ref>~traverse $std/array-literal/RefWithCtor~traverse $~lib/array/Array<std/array-literal/RefWithCtor>~traverse $~lib/array/Array<std/array-literal/RefWithCtor>~traverse) (elem (i32.const 0) $null)
(global $std/array-literal/staticArrayI8 i32 (i32.const 48)) (global $std/array-literal/staticArrayI8 i32 (i32.const 48))
(global $std/array-literal/staticArrayI32 i32 (i32.const 216)) (global $std/array-literal/staticArrayI32 i32 (i32.const 216))
(global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264)) (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264))
@ -39,25 +39,11 @@
(export "table" (table $0)) (export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/array/Array<i8>#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $~lib/collector/dummy/__ref_mark (; 2 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/array/Array<i8>~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/array/Array<i8>#get:length (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
) )
(func $~lib/string/String~traverse (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/array/Array<i8>#__unchecked_get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $1 i32)
)
(func $~lib/array/Array<i8>#__unchecked_get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
i32.load offset=4 i32.load offset=4
local.get $1 local.get $1
@ -66,7 +52,7 @@
i32.add i32.add
i32.load8_s i32.load8_s
) )
(func $~lib/array/Array<i8>#__get (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<i8>#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
local.get $0 local.get $0
i32.load offset=8 i32.load offset=8
@ -76,7 +62,7 @@
if if
i32.const 0 i32.const 0
i32.const 136 i32.const 136
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -85,16 +71,11 @@
local.get $1 local.get $1
call $~lib/array/Array<i8>#__unchecked_get call $~lib/array/Array<i8>#__unchecked_get
) )
(func $~lib/array/Array<i32>~traverse (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/array/Array<i32>#get:length (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/array/Array<i32>#get:length (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
) )
(func $~lib/array/Array<i32>#__unchecked_get (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<i32>#__unchecked_get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
i32.load offset=4 i32.load offset=4
local.get $1 local.get $1
@ -103,7 +84,7 @@
i32.add i32.add
i32.load i32.load
) )
(func $~lib/array/Array<i32>#__get (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<i32>#__get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
local.get $0 local.get $0
i32.load offset=8 i32.load offset=8
@ -113,7 +94,7 @@
if if
i32.const 0 i32.const 0
i32.const 136 i32.const 136
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -122,7 +103,7 @@
local.get $1 local.get $1
call $~lib/array/Array<i32>#__unchecked_get call $~lib/array/Array<i32>#__unchecked_get
) )
(func $~lib/runtime/runtime.adjust (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.adjust (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
local.get $0 local.get $0
@ -134,7 +115,7 @@
i32.sub i32.sub
i32.shl i32.shl
) )
(func $~lib/allocator/arena/__mem_allocate (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/arena/__mem_allocate (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -213,12 +194,12 @@
global.set $~lib/allocator/arena/offset global.set $~lib/allocator/arena/offset
local.get $1 local.get $1
) )
(func $~lib/memory/memory.allocate (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/memory/memory.allocate (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
call $~lib/allocator/arena/__mem_allocate call $~lib/allocator/arena/__mem_allocate
return return
) )
(func $~lib/runtime/runtime.allocate (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
call $~lib/runtime/runtime.adjust call $~lib/runtime/runtime.adjust
@ -240,10 +221,10 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $~lib/collector/dummy/__ref_register (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/dummy/__ref_register (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
nop nop
) )
(func $~lib/runtime/runtime.register (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -281,13 +262,13 @@
call $~lib/collector/dummy/__ref_register call $~lib/collector/dummy/__ref_register
local.get $0 local.get $0
) )
(func $~lib/collector/dummy/__ref_link (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/collector/dummy/__ref_link (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop nop
) )
(func $~lib/collector/dummy/__ref_unlink (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/collector/dummy/__ref_unlink (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop nop
) )
(func $~lib/util/memory/memcpy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/util/memory/memcpy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -1488,7 +1469,7 @@
i32.store8 i32.store8
end end
) )
(func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -1719,7 +1700,7 @@
end end
end end
) )
(func $~lib/runtime/runtime.makeArray (; 22 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (func $~lib/runtime/runtime.makeArray (; 17 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
(local $6 i32) (local $6 i32)
@ -1783,9 +1764,23 @@
end end
local.get $4 local.get $4
) )
(func $std/array-literal/Ref~traverse (; 23 ;) (type $FUNCSIG$vi) (param $0 i32) (func $std/array-literal/Ref#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 0
call $~lib/runtime/runtime.allocate
i32.const 5
call $~lib/runtime/runtime.register
local.set $0
end
local.get $0
) )
(func $std/array-literal/Ref#constructor (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/array/Array<std/array-literal/Ref>#get:length (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=12
)
(func $std/array-literal/RefWithCtor#constructor (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -1797,108 +1792,11 @@
end end
local.get $0 local.get $0
) )
(func $~lib/array/Array<std/array-literal/Ref>~traverse (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/array/Array<std/array-literal/RefWithCtor>#get:length (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__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/dummy/__ref_mark
local.get $3
call $std/array-literal/Ref~traverse
local.get $1
i32.const 4
i32.add
local.set $1
end
br $continue|0
end
end
end
)
(func $~lib/array/Array<std/array-literal/Ref>#get:length (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
) )
(func $std/array-literal/RefWithCtor~traverse (; 27 ;) (type $FUNCSIG$vi) (param $0 i32) (func $start:std/array-literal (; 22 ;) (type $FUNCSIG$v)
(local $1 i32)
)
(func $std/array-literal/RefWithCtor#constructor (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
i32.const 0
call $~lib/runtime/runtime.allocate
i32.const 10
call $~lib/runtime/runtime.register
local.set $0
end
local.get $0
)
(func $~lib/array/Array<std/array-literal/RefWithCtor>~traverse (; 29 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__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/dummy/__ref_mark
local.get $3
call $std/array-literal/RefWithCtor~traverse
local.get $1
i32.const 4
i32.add
local.set $1
end
br $continue|0
end
end
end
)
(func $~lib/array/Array<std/array-literal/RefWithCtor>#get:length (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=12
)
(func $start:std/array-literal (; 31 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
@ -2130,7 +2028,7 @@
global.set $std/array-literal/i global.set $std/array-literal/i
block (result i32) block (result i32)
i32.const 3 i32.const 3
i32.const 5 i32.const 4
i32.const 2 i32.const 2
i32.const 0 i32.const 0
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
@ -2221,7 +2119,7 @@
end end
block (result i32) block (result i32)
i32.const 3 i32.const 3
i32.const 8 i32.const 6
i32.const 2 i32.const 2
i32.const 0 i32.const 0
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
@ -2280,7 +2178,7 @@
end end
block (result i32) block (result i32)
i32.const 3 i32.const 3
i32.const 11 i32.const 8
i32.const 2 i32.const 2
i32.const 0 i32.const 0
call $~lib/runtime/runtime.makeArray call $~lib/runtime/runtime.makeArray
@ -2338,9 +2236,9 @@
unreachable unreachable
end end
) )
(func $start (; 32 ;) (type $FUNCSIG$v) (func $start (; 23 ;) (type $FUNCSIG$v)
call $start:std/array-literal call $start:std/array-literal
) )
(func $null (; 33 ;) (type $FUNCSIG$v) (func $null (; 24 ;) (type $FUNCSIG$v)
) )
) )

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
(module (module
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
@ -23,14 +23,14 @@
(type $FUNCSIG$vid (func (param i32 f64))) (type $FUNCSIG$vid (func (param i32 f64)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1) (memory $0 1)
(data (i32.const 8) "\03\00\00\00\1e") (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 24) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(data (i32.const 56) "\03\00\00\00&") (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 72) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
(data (i32.const 112) "\03\00\00\00\14") (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 128) "s\00t\00d\00/\00m\00a\00p\00.\00t\00s")
(table $0 23 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse $~lib/map/Map<i8,i32>~traverse) (elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/capabilities i32 (i32.const 2)) (global $~lib/capabilities i32 (i32.const 2))
@ -127,18 +127,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $~lib/map/Map<i8,i32>~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
drop
local.get $0
i32.load offset=8
drop
)
(func $~lib/string/String~traverse (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.const 148 i32.const 148
@ -171,7 +160,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
block $~lib/util/memory/memset|inlined.0 block $~lib/util/memory/memset|inlined.0
local.get $1 local.get $1
@ -382,7 +371,7 @@
end end
end end
) )
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 1073741808 i32.const 1073741808
@ -401,10 +390,10 @@
local.get $0 local.get $0
call $~lib/memory/memory.fill call $~lib/memory/memory.fill
local.get $1 local.get $1
i32.const 4 i32.const 3
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/map/Map<i8,i32>#clear (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/map/Map<i8,i32>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
i32.const 16 i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/arraybuffer/ArrayBuffer#constructor
@ -439,7 +428,7 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/map/Map<i8,i32>#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<i8,i32>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
@ -467,7 +456,7 @@
call $~lib/map/Map<i8,i32>#clear call $~lib/map/Map<i8,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/map/Map<i8,i32>#find (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/map/Map<i8,i32>#find (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -512,7 +501,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/map/Map<i8,i32>#has (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<i8,i32>#has (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -528,7 +517,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<i8,i32>#rehash (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<i8,i32>#rehash (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -638,7 +627,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<i8,i32>#set (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/map/Map<i8,i32>#set (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -737,7 +726,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<i8,i32>#get (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<i8,i32>#get (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -758,7 +747,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<i8,i32>#delete (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<i8,i32>#delete (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -825,7 +814,7 @@
call $~lib/map/Map<i8,i32>#rehash call $~lib/map/Map<i8,i32>#rehash
end end
) )
(func $std/map/testNumeric<i8,i32> (; 16 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<i8,i32> (; 14 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<i8,i32>#constructor call $~lib/map/Map<i8,i32>#constructor
@ -1169,11 +1158,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<u8,i32>#constructor (; 17 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<u8,i32>#constructor (; 15 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 5 i32.const 4
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -1197,7 +1186,7 @@
call $~lib/map/Map<i8,i32>#clear call $~lib/map/Map<i8,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/map/Map<u8,i32>#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<u8,i32>#has (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -1211,7 +1200,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<u8,i32>#rehash (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<u8,i32>#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1321,7 +1310,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<u8,i32>#set (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/map/Map<u8,i32>#set (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -1418,7 +1407,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<u8,i32>#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<u8,i32>#get (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -1437,7 +1426,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<u8,i32>#delete (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<u8,i32>#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -1502,7 +1491,7 @@
call $~lib/map/Map<u8,i32>#rehash call $~lib/map/Map<u8,i32>#rehash
end end
) )
(func $std/map/testNumeric<u8,i32> (; 23 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<u8,i32> (; 21 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<u8,i32>#constructor call $~lib/map/Map<u8,i32>#constructor
@ -1832,11 +1821,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<i16,i32>#constructor (; 24 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<i16,i32>#constructor (; 22 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 7 i32.const 5
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -1860,7 +1849,7 @@
call $~lib/map/Map<i8,i32>#clear call $~lib/map/Map<i8,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/map/Map<i16,i32>#find (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/map/Map<i16,i32>#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -1905,7 +1894,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/map/Map<i16,i32>#has (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<i16,i32>#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -1930,7 +1919,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<i16,i32>#rehash (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<i16,i32>#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2049,7 +2038,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<i16,i32>#set (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/map/Map<i16,i32>#set (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2157,7 +2146,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<i16,i32>#get (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<i16,i32>#get (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -2187,7 +2176,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<i16,i32>#delete (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<i16,i32>#delete (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -2263,7 +2252,7 @@
call $~lib/map/Map<i16,i32>#rehash call $~lib/map/Map<i16,i32>#rehash
end end
) )
(func $std/map/testNumeric<i16,i32> (; 31 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<i16,i32> (; 29 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<i16,i32>#constructor call $~lib/map/Map<i16,i32>#constructor
@ -2607,11 +2596,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<u16,i32>#constructor (; 32 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<u16,i32>#constructor (; 30 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 9 i32.const 6
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -2635,7 +2624,7 @@
call $~lib/map/Map<i8,i32>#clear call $~lib/map/Map<i8,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/map/Map<u16,i32>#has (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<u16,i32>#has (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -2658,7 +2647,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<u16,i32>#rehash (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<u16,i32>#rehash (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2777,7 +2766,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<u16,i32>#set (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/map/Map<u16,i32>#set (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2883,7 +2872,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<u16,i32>#get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<u16,i32>#get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -2911,7 +2900,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<u16,i32>#delete (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<u16,i32>#delete (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -2985,7 +2974,7 @@
call $~lib/map/Map<u16,i32>#rehash call $~lib/map/Map<u16,i32>#rehash
end end
) )
(func $std/map/testNumeric<u16,i32> (; 38 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<u16,i32> (; 36 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<u16,i32>#constructor call $~lib/map/Map<u16,i32>#constructor
@ -3315,11 +3304,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<i32,i32>#constructor (; 39 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<i32,i32>#constructor (; 37 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 11 i32.const 7
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -3343,7 +3332,7 @@
call $~lib/map/Map<i8,i32>#clear call $~lib/map/Map<i8,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash32 (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/hash/hash32 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 255 i32.const 255
i32.and i32.and
@ -3374,7 +3363,7 @@
i32.const 16777619 i32.const 16777619
i32.mul i32.mul
) )
(func $~lib/map/Map<i32,i32>#find (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/map/Map<i32,i32>#find (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -3417,7 +3406,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/map/Map<i32,i32>#has (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<i32,i32>#has (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -3426,7 +3415,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<i32,i32>#rehash (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<i32,i32>#rehash (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3533,7 +3522,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<i32,i32>#set (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/map/Map<i32,i32>#set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -3623,7 +3612,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<i32,i32>#get (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/map/Map<i32,i32>#get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -3637,7 +3626,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<i32,i32>#delete (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<i32,i32>#delete (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -3697,7 +3686,7 @@
call $~lib/map/Map<i32,i32>#rehash call $~lib/map/Map<i32,i32>#rehash
end end
) )
(func $std/map/testNumeric<i32,i32> (; 47 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<i32,i32> (; 45 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<i32,i32>#constructor call $~lib/map/Map<i32,i32>#constructor
@ -4013,11 +4002,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<u32,i32>#constructor (; 48 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<u32,i32>#constructor (; 46 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 13 i32.const 8
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -4041,7 +4030,7 @@
call $~lib/map/Map<i8,i32>#clear call $~lib/map/Map<i8,i32>#clear
local.get $0 local.get $0
) )
(func $std/map/testNumeric<u32,i32> (; 49 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<u32,i32> (; 47 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<u32,i32>#constructor call $~lib/map/Map<u32,i32>#constructor
@ -4357,7 +4346,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<i64,i32>#clear (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/map/Map<i64,i32>#clear (; 48 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
i32.const 16 i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/arraybuffer/ArrayBuffer#constructor
@ -4392,11 +4381,11 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/map/Map<i64,i32>#constructor (; 51 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<i64,i32>#constructor (; 49 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 15 i32.const 9
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -4420,7 +4409,7 @@
call $~lib/map/Map<i64,i32>#clear call $~lib/map/Map<i64,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/hash/hash64 (; 50 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.wrap_i64 i32.wrap_i64
@ -4486,7 +4475,7 @@
i32.const 16777619 i32.const 16777619
i32.mul i32.mul
) )
(func $~lib/map/Map<i64,i32>#find (; 53 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (func $~lib/map/Map<i64,i32>#find (; 51 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -4529,7 +4518,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/map/Map<i64,i32>#has (; 54 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (func $~lib/map/Map<i64,i32>#has (; 52 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -4538,7 +4527,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<i64,i32>#rehash (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<i64,i32>#rehash (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4645,7 +4634,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<i64,i32>#set (; 56 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (func $~lib/map/Map<i64,i32>#set (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -4735,7 +4724,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<i64,i32>#get (; 57 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (func $~lib/map/Map<i64,i32>#get (; 55 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -4749,7 +4738,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<i64,i32>#delete (; 58 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (func $~lib/map/Map<i64,i32>#delete (; 56 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -4810,7 +4799,7 @@
call $~lib/map/Map<i64,i32>#rehash call $~lib/map/Map<i64,i32>#rehash
end end
) )
(func $std/map/testNumeric<i64,i32> (; 59 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<i64,i32> (; 57 ;) (type $FUNCSIG$v)
(local $0 i64) (local $0 i64)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<i64,i32>#constructor call $~lib/map/Map<i64,i32>#constructor
@ -5133,11 +5122,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<u64,i32>#constructor (; 60 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<u64,i32>#constructor (; 58 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 17 i32.const 10
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -5161,7 +5150,7 @@
call $~lib/map/Map<i64,i32>#clear call $~lib/map/Map<i64,i32>#clear
local.get $0 local.get $0
) )
(func $std/map/testNumeric<u64,i32> (; 61 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<u64,i32> (; 59 ;) (type $FUNCSIG$v)
(local $0 i64) (local $0 i64)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<u64,i32>#constructor call $~lib/map/Map<u64,i32>#constructor
@ -5484,11 +5473,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<f32,i32>#constructor (; 62 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<f32,i32>#constructor (; 60 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 19 i32.const 11
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -5512,7 +5501,7 @@
call $~lib/map/Map<i8,i32>#clear call $~lib/map/Map<i8,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/map/Map<f32,i32>#find (; 63 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (func $~lib/map/Map<f32,i32>#find (; 61 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -5555,7 +5544,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/map/Map<f32,i32>#has (; 64 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (func $~lib/map/Map<f32,i32>#has (; 62 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -5565,7 +5554,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<f32,i32>#rehash (; 65 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<f32,i32>#rehash (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5673,7 +5662,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<f32,i32>#set (; 66 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32) (func $~lib/map/Map<f32,i32>#set (; 64 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -5764,7 +5753,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<f32,i32>#get (; 67 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (func $~lib/map/Map<f32,i32>#get (; 65 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -5779,7 +5768,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<f32,i32>#delete (; 68 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (func $~lib/map/Map<f32,i32>#delete (; 66 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -5841,7 +5830,7 @@
call $~lib/map/Map<f32,i32>#rehash call $~lib/map/Map<f32,i32>#rehash
end end
) )
(func $std/map/testNumeric<f32,i32> (; 69 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<f32,i32> (; 67 ;) (type $FUNCSIG$v)
(local $0 f32) (local $0 f32)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<f32,i32>#constructor call $~lib/map/Map<f32,i32>#constructor
@ -6164,11 +6153,11 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<f64,i32>#constructor (; 70 ;) (type $FUNCSIG$i) (result i32) (func $~lib/map/Map<f64,i32>#constructor (; 68 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 21 i32.const 12
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -6192,7 +6181,7 @@
call $~lib/map/Map<i64,i32>#clear call $~lib/map/Map<i64,i32>#clear
local.get $0 local.get $0
) )
(func $~lib/map/Map<f64,i32>#find (; 71 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (func $~lib/map/Map<f64,i32>#find (; 69 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -6235,7 +6224,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/map/Map<f64,i32>#has (; 72 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (func $~lib/map/Map<f64,i32>#has (; 70 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -6245,7 +6234,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/map/Map<f64,i32>#rehash (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/map/Map<f64,i32>#rehash (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -6353,7 +6342,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/map/Map<f64,i32>#set (; 74 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32) (func $~lib/map/Map<f64,i32>#set (; 72 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -6444,7 +6433,7 @@
i32.store i32.store
end end
) )
(func $~lib/map/Map<f64,i32>#get (; 75 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (func $~lib/map/Map<f64,i32>#get (; 73 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -6459,7 +6448,7 @@
unreachable unreachable
end end
) )
(func $~lib/map/Map<f64,i32>#delete (; 76 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (func $~lib/map/Map<f64,i32>#delete (; 74 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -6521,7 +6510,7 @@
call $~lib/map/Map<f64,i32>#rehash call $~lib/map/Map<f64,i32>#rehash
end end
) )
(func $std/map/testNumeric<f64,i32> (; 77 ;) (type $FUNCSIG$v) (func $std/map/testNumeric<f64,i32> (; 75 ;) (type $FUNCSIG$v)
(local $0 f64) (local $0 f64)
(local $1 i32) (local $1 i32)
call $~lib/map/Map<f64,i32>#constructor call $~lib/map/Map<f64,i32>#constructor
@ -6844,7 +6833,7 @@
unreachable unreachable
end end
) )
(func $start (; 78 ;) (type $FUNCSIG$v) (func $start (; 76 ;) (type $FUNCSIG$v)
i32.const 152 i32.const 152
global.set $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset
@ -6860,7 +6849,7 @@
call $std/map/testNumeric<f32,i32> call $std/map/testNumeric<f32,i32>
call $std/map/testNumeric<f64,i32> call $std/map/testNumeric<f64,i32>
) )
(func $null (; 79 ;) (type $FUNCSIG$v) (func $null (; 77 ;) (type $FUNCSIG$v)
nop nop
) )
) )

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1) (memory $0 1)
@ -12,8 +12,8 @@
(data (i32.const 64) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (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 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 112) "s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s")
(table $0 4 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse $std/object-literal/Foo~traverse $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/capabilities i32 (i32.const 2)) (global $~lib/capabilities i32 (i32.const 2))
@ -21,10 +21,7 @@
(export "table" (table $0)) (export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
nop
)
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -86,7 +83,7 @@
global.set $~lib/allocator/arena/offset global.set $~lib/allocator/arena/offset
local.get $1 local.get $1
) )
(func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
@ -113,12 +110,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $std/object-literal/Foo~traverse (; 4 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load offset=4
drop
)
(func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.const 156 i32.const 156
@ -151,7 +143,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/util/string/compareImpl (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
i32.const 24 i32.const 24
@ -187,7 +179,7 @@
end end
local.get $3 local.get $3
) )
(func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String.__eq (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 24 i32.const 24
@ -230,7 +222,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $std/object-literal/bar (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) (func $std/object-literal/bar (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 1 i32.const 1
@ -256,7 +248,7 @@
unreachable unreachable
end end
) )
(func $start:std/object-literal (; 9 ;) (type $FUNCSIG$v) (func $start:std/object-literal (; 7 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
i32.const 160 i32.const 160
global.set $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/startOffset
@ -313,10 +305,10 @@
unreachable unreachable
end end
) )
(func $start (; 10 ;) (type $FUNCSIG$v) (func $start (; 8 ;) (type $FUNCSIG$v)
call $start:std/object-literal call $start:std/object-literal
) )
(func $null (; 11 ;) (type $FUNCSIG$v) (func $null (; 9 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,8 +1,8 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -10,8 +10,8 @@
(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 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 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 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")
(table $0 4 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse $std/object-literal/Foo~traverse $std/object-literal/Foo2~traverse) (elem (i32.const 0) $null)
(global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
@ -23,10 +23,7 @@
(export "table" (table $0)) (export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.adjust (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $~lib/runtime/runtime.adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
local.get $0 local.get $0
@ -38,7 +35,7 @@
i32.sub i32.sub
i32.shl i32.shl
) )
(func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -117,12 +114,12 @@
global.set $~lib/allocator/arena/offset global.set $~lib/allocator/arena/offset
local.get $1 local.get $1
) )
(func $~lib/memory/memory.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/memory/memory.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
call $~lib/allocator/arena/__mem_allocate call $~lib/allocator/arena/__mem_allocate
return return
) )
(func $~lib/runtime/runtime.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
call $~lib/runtime/runtime.adjust call $~lib/runtime/runtime.adjust
@ -144,25 +141,10 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $~lib/collector/dummy/__ref_mark (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
nop nop
) )
(func $std/object-literal/Foo~traverse (; 7 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $1 i32)
local.get $0
i32.load offset=4
local.tee $1
if
local.get $1
call $~lib/collector/dummy/__ref_mark
local.get $1
call $~lib/string/String~traverse
end
)
(func $~lib/collector/dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/runtime/runtime.register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -200,7 +182,7 @@
call $~lib/collector/dummy/__ref_register call $~lib/collector/dummy/__ref_register
local.get $0 local.get $0
) )
(func $~lib/string/String#get:length (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String#get:length (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.sub i32.sub
@ -208,7 +190,7 @@
i32.const 1 i32.const 1
i32.shr_u i32.shr_u
) )
(func $~lib/util/string/compareImpl (; 11 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (func $~lib/util/string/compareImpl (; 8 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 i32) (local $5 i32)
(local $6 i32) (local $6 i32)
(local $7 i32) (local $7 i32)
@ -261,7 +243,7 @@
end end
local.get $5 local.get $5
) )
(func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__eq (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -305,7 +287,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $std/object-literal/bar (; 13 ;) (type $FUNCSIG$vi) (param $0 i32) (func $std/object-literal/bar (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 1 i32.const 1
@ -333,10 +315,7 @@
unreachable unreachable
end end
) )
(func $std/object-literal/Foo2~traverse (; 14 ;) (type $FUNCSIG$vi) (param $0 i32) (func $std/object-literal/bar2 (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $std/object-literal/bar2 (; 15 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 2 i32.const 2
@ -351,7 +330,7 @@
unreachable unreachable
end end
) )
(func $std/object-literal/Foo2#test (; 16 ;) (type $FUNCSIG$vi) (param $0 i32) (func $std/object-literal/Foo2#test (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 3 i32.const 3
@ -366,7 +345,7 @@
unreachable unreachable
end end
) )
(func $start:std/object-literal (; 17 ;) (type $FUNCSIG$v) (func $start:std/object-literal (; 13 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
@ -420,9 +399,9 @@
end end
call $std/object-literal/Foo2#test call $std/object-literal/Foo2#test
) )
(func $start (; 18 ;) (type $FUNCSIG$v) (func $start (; 14 ;) (type $FUNCSIG$v)
call $start:std/object-literal call $start:std/object-literal
) )
(func $null (; 19 ;) (type $FUNCSIG$v) (func $null (; 15 ;) (type $FUNCSIG$v)
) )
) )

View File

@ -1,5 +1,4 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
@ -7,6 +6,7 @@
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64)))
@ -23,8 +23,8 @@
(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 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\1e") (data (i32.const 216) "\03\00\00\00\1e")
(data (i32.const 232) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s") (data (i32.const 232) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(table $0 4 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $std/runtime/A~traverse $std/runtime/A~traverse $std/runtime/A~traverse) (elem (i32.const 0) $null)
(global $std/runtime/register_ref (mut i32) (i32.const 0)) (global $std/runtime/register_ref (mut i32) (i32.const 0))
(global $std/runtime/barrier1 (mut i32) (i32.const 0)) (global $std/runtime/barrier1 (mut i32) (i32.const 0))
(global $std/runtime/barrier2 (mut i32) (i32.const 0)) (global $std/runtime/barrier2 (mut i32) (i32.const 0))
@ -44,10 +44,7 @@
(export "table" (table $0)) (export "table" (table $0))
(export "main" (func $std/runtime/main)) (export "main" (func $std/runtime/main))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(func $std/runtime/A~traverse (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
nop
)
(func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -67,7 +64,7 @@
local.get $2 local.get $2
i32.store offset=4 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 (; 3 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -102,7 +99,7 @@
local.get $3 local.get $3
i32.store offset=96 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 (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
i32.const -4 i32.const -4
@ -136,7 +133,7 @@
end end
local.get $0 local.get $0
) )
(func $~lib/allocator/tlsf/fls<usize> (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/fls<usize> (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -152,7 +149,7 @@
i32.clz i32.clz
i32.sub 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 (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -186,7 +183,7 @@
i32.add i32.add
i32.load offset=96 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 (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
i32.const 22 i32.const 22
i32.ge_u i32.ge_u
@ -205,7 +202,7 @@
i32.add i32.add
i32.load offset=4 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 (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -334,7 +331,7 @@
end end
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 (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 2 i32.const 2
@ -364,7 +361,7 @@
end end
local.get $0 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 (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0 local.get $0
i32.load i32.load
i32.const 1 i32.const 1
@ -409,7 +406,7 @@
local.get $0 local.get $0
i32.store i32.store
) )
(func $~lib/allocator/tlsf/Root#insert (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/allocator/tlsf/Root#insert (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -639,7 +636,7 @@
i32.or i32.or
call $~lib/allocator/tlsf/Root#setSLMap 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 (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $1 local.get $1
@ -762,7 +759,7 @@
local.get $1 local.get $1
call $~lib/allocator/tlsf/Root#insert call $~lib/allocator/tlsf/Root#insert
) )
(func $~lib/allocator/tlsf/ffs<usize> (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/ffs<usize> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
@ -776,7 +773,7 @@
local.get $0 local.get $0
i32.ctz 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 (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $1 local.get $1
@ -888,7 +885,7 @@
end end
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 (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $1 local.get $1
@ -999,7 +996,7 @@
i32.const 8 i32.const 8
i32.add i32.add
) )
(func $~lib/allocator/tlsf/__mem_allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/__mem_allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -1169,7 +1166,7 @@
local.get $1 local.get $1
call $~lib/allocator/tlsf/Root#use call $~lib/allocator/tlsf/Root#use
) )
(func $~lib/runtime/runtime.allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
@ -1196,7 +1193,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/util/memory/memcpy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2043,7 +2040,7 @@
i32.store8 i32.store8
end end
) )
(func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
block $~lib/util/memory/memmove|inlined.0 block $~lib/util/memory/memmove|inlined.0
@ -2237,7 +2234,7 @@
end end
end end
) )
(func $~lib/memory/memory.fill (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/memory/memory.fill (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
block $~lib/util/memory/memset|inlined.0 block $~lib/util/memory/memset|inlined.0
local.get $1 local.get $1
@ -2448,7 +2445,7 @@
end end
end end
) )
(func $~lib/allocator/tlsf/__mem_free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/tlsf/__mem_free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -2486,7 +2483,7 @@
end end
end end
) )
(func $~lib/runtime/runtime.reallocate (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.reallocate (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2593,7 +2590,7 @@
i32.store offset=4 i32.store offset=4
local.get $0 local.get $0
) )
(func $~lib/runtime/runtime.discard (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.discard (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
i32.const 264 i32.const 264
i32.le_u i32.le_u
@ -2623,7 +2620,7 @@
local.get $0 local.get $0
call $~lib/allocator/tlsf/__mem_free call $~lib/allocator/tlsf/__mem_free
) )
(func $~lib/runtime/runtime.register (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.register (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 264 i32.const 264
@ -2657,7 +2654,7 @@
local.get $0 local.get $0
global.set $std/runtime/register_ref global.set $std/runtime/register_ref
) )
(func $start:std/runtime (; 26 ;) (type $FUNCSIG$v) (func $start:std/runtime (; 25 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
@ -2976,7 +2973,7 @@
unreachable unreachable
end end
) )
(func $std/runtime/main (; 27 ;) (type $FUNCSIG$v) (func $std/runtime/main (; 26 ;) (type $FUNCSIG$v)
global.get $~lib/started global.get $~lib/started
i32.eqz i32.eqz
if if
@ -2985,7 +2982,7 @@
global.set $~lib/started global.set $~lib/started
end end
) )
(func $null (; 28 ;) (type $FUNCSIG$v) (func $null (; 27 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,5 +1,4 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64))) (type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
@ -7,6 +6,7 @@
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64))) (import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64)))
@ -17,8 +17,8 @@
(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 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 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\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) "\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 4 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $std/runtime/A~traverse $std/runtime/B~traverse $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $std/runtime/register_ref (mut i32) (i32.const 0)) (global $std/runtime/register_ref (mut i32) (i32.const 0))
(global $std/runtime/link_ref (mut i32) (i32.const 0)) (global $std/runtime/link_ref (mut i32) (i32.const 0))
(global $std/runtime/link_parentRef (mut i32) (i32.const 0)) (global $std/runtime/link_parentRef (mut i32) (i32.const 0))
@ -60,14 +60,7 @@
(export "table" (table $0)) (export "table" (table $0))
(export "main" (func $std/runtime/main)) (export "main" (func $std/runtime/main))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(func $std/runtime/A~traverse (; 2 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
)
(func $std/runtime/B~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 i32)
)
(func $~lib/string/String~traverse (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/runtime/runtime.adjust (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
local.get $0 local.get $0
@ -79,7 +72,7 @@
i32.sub i32.sub
i32.shl i32.shl
) )
(func $std/runtime/isPowerOf2 (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $std/runtime/isPowerOf2 (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
@ -97,12 +90,12 @@
local.get $1 local.get $1
end end
) )
(func $~lib/allocator/tlsf/Root#set:tailRef (; 7 ;) (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 i32.const 0
local.get $1 local.get $1
i32.store offset=2912 i32.store offset=2912
) )
(func $~lib/allocator/tlsf/Root#setSLMap (; 8 ;) (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 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -123,7 +116,7 @@
local.get $2 local.get $2
i32.store offset=4 i32.store offset=4
) )
(func $~lib/allocator/tlsf/Root#setHead (; 9 ;) (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 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -160,11 +153,11 @@
local.get $3 local.get $3
i32.store offset=96 i32.store offset=96
) )
(func $~lib/allocator/tlsf/Root#get:tailRef (; 10 ;) (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.const 0
i32.load offset=2912 i32.load offset=2912
) )
(func $~lib/allocator/tlsf/Block#get:right (; 11 ;) (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 $1 i32)
local.get $0 local.get $0
i32.load i32.load
@ -204,7 +197,7 @@
local.get $1 local.get $1
end end
) )
(func $~lib/allocator/tlsf/fls<usize> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/fls<usize> (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
i32.ne i32.ne
@ -222,7 +215,7 @@
i32.clz i32.clz
i32.sub i32.sub
) )
(func $~lib/allocator/tlsf/Root#getHead (; 13 ;) (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 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -258,7 +251,7 @@
i32.add i32.add
i32.load offset=96 i32.load offset=96
) )
(func $~lib/allocator/tlsf/Root#getSLMap (; 14 ;) (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 local.get $1
global.get $~lib/allocator/tlsf/FL_BITS global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u i32.lt_u
@ -278,7 +271,7 @@
i32.add i32.add
i32.load offset=4 i32.load offset=4
) )
(func $~lib/allocator/tlsf/Root#remove (; 15 ;) (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 $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -423,7 +416,7 @@
end end
end end
) )
(func $~lib/allocator/tlsf/Block#get:left (; 16 ;) (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 $1 i32)
local.get $0 local.get $0
i32.load i32.load
@ -455,7 +448,7 @@
local.get $1 local.get $1
end end
) )
(func $~lib/allocator/tlsf/Root#setJump (; 17 ;) (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 local.get $1
i32.load i32.load
global.get $~lib/allocator/tlsf/FREE global.get $~lib/allocator/tlsf/FREE
@ -501,7 +494,7 @@
local.get $1 local.get $1
i32.store i32.store
) )
(func $~lib/allocator/tlsf/Root#insert (; 18 ;) (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 $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -767,7 +760,7 @@
i32.or i32.or
call $~lib/allocator/tlsf/Root#setSLMap call $~lib/allocator/tlsf/Root#setSLMap
) )
(func $~lib/allocator/tlsf/Root#addMemory (; 19 ;) (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 $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -920,7 +913,7 @@
call $~lib/allocator/tlsf/Root#insert call $~lib/allocator/tlsf/Root#insert
i32.const 1 i32.const 1
) )
(func $~lib/allocator/tlsf/ffs<usize> (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/ffs<usize> (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
i32.ne i32.ne
@ -936,7 +929,7 @@
local.get $0 local.get $0
i32.ctz i32.ctz
) )
(func $~lib/allocator/tlsf/ffs<u32> (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/tlsf/ffs<u32> (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
i32.ne i32.ne
@ -952,7 +945,7 @@
local.get $0 local.get $0
i32.ctz i32.ctz
) )
(func $~lib/allocator/tlsf/Root#search (; 22 ;) (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 $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1093,7 +1086,7 @@
end end
local.get $6 local.get $6
) )
(func $~lib/allocator/tlsf/Root#use (; 23 ;) (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 $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -1221,7 +1214,7 @@
global.get $~lib/allocator/tlsf/Block.INFO global.get $~lib/allocator/tlsf/Block.INFO
i32.add i32.add
) )
(func $~lib/allocator/tlsf/__mem_allocate (; 24 ;) (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 $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -1457,12 +1450,12 @@
local.get $0 local.get $0
call $~lib/allocator/tlsf/Root#use call $~lib/allocator/tlsf/Root#use
) )
(func $~lib/memory/memory.allocate (; 25 ;) (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 local.get $0
call $~lib/allocator/tlsf/__mem_allocate call $~lib/allocator/tlsf/__mem_allocate
return return
) )
(func $~lib/runtime/runtime.allocate (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
call $~lib/runtime/runtime.adjust call $~lib/runtime/runtime.adjust
@ -1484,7 +1477,7 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $~lib/util/memory/memcpy (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/util/memory/memcpy (; 24 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2685,7 +2678,7 @@
i32.store8 i32.store8
end end
) )
(func $~lib/memory/memory.copy (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.copy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2916,7 +2909,7 @@
end end
end end
) )
(func $~lib/memory/memory.fill (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.fill (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -3173,7 +3166,7 @@
end end
end end
) )
(func $~lib/allocator/tlsf/__mem_free (; 30 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/tlsf/__mem_free (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -3216,15 +3209,15 @@
end end
end end
) )
(func $~lib/memory/memory.free (; 31 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/memory/memory.free (; 28 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
call $~lib/allocator/tlsf/__mem_free call $~lib/allocator/tlsf/__mem_free
) )
(func $std/runtime/__ref_register (; 32 ;) (type $FUNCSIG$vi) (param $0 i32) (func $std/runtime/__ref_register (; 29 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
global.set $std/runtime/register_ref global.set $std/runtime/register_ref
) )
(func $~lib/runtime/runtime.reallocate (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.reallocate (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3328,7 +3321,7 @@
i32.store offset=4 i32.store offset=4
local.get $0 local.get $0
) )
(func $~lib/runtime/runtime.discard (; 34 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.discard (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -3362,7 +3355,7 @@
local.get $1 local.get $1
call $~lib/memory/memory.free call $~lib/memory/memory.free
) )
(func $~lib/runtime/runtime.register (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -3400,13 +3393,13 @@
call $std/runtime/__ref_register call $std/runtime/__ref_register
local.get $0 local.get $0
) )
(func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.sub i32.sub
i32.load offset=4 i32.load offset=4
) )
(func $~lib/string/String#get:length (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String#get:length (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.sub i32.sub
@ -3414,7 +3407,7 @@
i32.const 1 i32.const 1
i32.shr_u i32.shr_u
) )
(func $start:std/runtime (; 38 ;) (type $FUNCSIG$v) (func $start:std/runtime (; 35 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
i32.const 1 i32.const 1
i32.const 2 i32.const 2
@ -3734,7 +3727,7 @@
unreachable unreachable
end end
) )
(func $std/runtime/main (; 39 ;) (type $FUNCSIG$v) (func $std/runtime/main (; 36 ;) (type $FUNCSIG$v)
global.get $~lib/started global.get $~lib/started
i32.eqz i32.eqz
if if
@ -3743,9 +3736,9 @@
global.set $~lib/started global.set $~lib/started
end end
) )
(func $start (; 40 ;) (type $FUNCSIG$v) (func $start (; 37 ;) (type $FUNCSIG$v)
call $start:std/runtime call $start:std/runtime
) )
(func $null (; 41 ;) (type $FUNCSIG$v) (func $null (; 38 ;) (type $FUNCSIG$v)
) )
) )

View File

@ -1,9 +1,9 @@
(module (module
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iij (func (param i32 i64) (result i32))) (type $FUNCSIG$iij (func (param i32 i64) (result i32)))
@ -19,14 +19,14 @@
(type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$i (func (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1) (memory $0 1)
(data (i32.const 8) "\03\00\00\00\1e") (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 24) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(data (i32.const 56) "\03\00\00\00&") (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 72) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
(data (i32.const 112) "\03\00\00\00\14") (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 128) "s\00t\00d\00/\00s\00e\00t\00.\00t\00s")
(table $0 23 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/string/String~traverse $~lib/string/String~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse) (elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/capabilities i32 (i32.const 2)) (global $~lib/capabilities i32 (i32.const 2))
@ -123,18 +123,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $~lib/set/Set<i8>~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
drop
local.get $0
i32.load offset=8
drop
)
(func $~lib/string/String~traverse (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/runtime/runtime.register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.const 148 i32.const 148
@ -167,7 +156,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
block $~lib/util/memory/memset|inlined.0 block $~lib/util/memory/memset|inlined.0
local.get $1 local.get $1
@ -378,7 +367,7 @@
end end
end end
) )
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 1073741808 i32.const 1073741808
@ -397,10 +386,10 @@
local.get $0 local.get $0
call $~lib/memory/memory.fill call $~lib/memory/memory.fill
local.get $1 local.get $1
i32.const 4 i32.const 3
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/set/Set<i8>#clear (; 8 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<i8>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
i32.const 16 i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/arraybuffer/ArrayBuffer#constructor
@ -435,7 +424,7 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<i8>#constructor (; 9 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<i8>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
@ -463,7 +452,7 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<i8>#find (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<i8>#find (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -508,7 +497,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i8>#has (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i8>#has (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -524,7 +513,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i8>#rehash (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i8>#rehash (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -630,7 +619,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i8>#add (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i8>#add (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -722,7 +711,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i8>#delete (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i8>#delete (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -789,7 +778,7 @@
call $~lib/set/Set<i8>#rehash call $~lib/set/Set<i8>#rehash
end end
) )
(func $std/set/testNumeric<i8> (; 15 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i8> (; 13 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<i8>#constructor call $~lib/set/Set<i8>#constructor
@ -1034,11 +1023,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u8>#constructor (; 16 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<u8>#constructor (; 14 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 5 i32.const 4
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -1062,7 +1051,7 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<u8>#has (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u8>#has (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -1076,7 +1065,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<u8>#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u8>#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1182,7 +1171,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<u8>#add (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u8>#add (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1272,7 +1261,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<u8>#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u8>#delete (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -1337,7 +1326,7 @@
call $~lib/set/Set<u8>#rehash call $~lib/set/Set<u8>#rehash
end end
) )
(func $std/set/testNumeric<u8> (; 21 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u8> (; 19 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<u8>#constructor call $~lib/set/Set<u8>#constructor
@ -1582,11 +1571,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<i16>#constructor (; 22 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<i16>#constructor (; 20 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 7 i32.const 5
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -1610,7 +1599,7 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<i16>#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<i16>#find (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -1655,7 +1644,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i16>#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i16>#has (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -1680,7 +1669,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i16>#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i16>#rehash (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1795,7 +1784,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i16>#add (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i16>#add (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1896,7 +1885,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i16>#delete (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i16>#delete (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -1972,7 +1961,7 @@
call $~lib/set/Set<i16>#rehash call $~lib/set/Set<i16>#rehash
end end
) )
(func $std/set/testNumeric<i16> (; 28 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i16> (; 26 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<i16>#constructor call $~lib/set/Set<i16>#constructor
@ -2217,11 +2206,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u16>#constructor (; 29 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<u16>#constructor (; 27 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 9 i32.const 6
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -2245,7 +2234,7 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<u16>#has (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u16>#has (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -2268,7 +2257,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<u16>#rehash (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u16>#rehash (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2383,7 +2372,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<u16>#add (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u16>#add (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2482,7 +2471,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<u16>#delete (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u16>#delete (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -2556,7 +2545,7 @@
call $~lib/set/Set<u16>#rehash call $~lib/set/Set<u16>#rehash
end end
) )
(func $std/set/testNumeric<u16> (; 34 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u16> (; 32 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<u16>#constructor call $~lib/set/Set<u16>#constructor
@ -2801,11 +2790,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<i32>#constructor (; 35 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<i32>#constructor (; 33 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 11 i32.const 7
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -2829,7 +2818,7 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash32 (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/hash/hash32 (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 255 i32.const 255
i32.and i32.and
@ -2860,7 +2849,7 @@
i32.const 16777619 i32.const 16777619
i32.mul i32.mul
) )
(func $~lib/set/Set<i32>#find (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<i32>#find (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -2903,7 +2892,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i32>#has (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i32>#has (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -2912,7 +2901,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i32>#rehash (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i32>#rehash (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3015,7 +3004,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i32>#add (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i32>#add (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3098,7 +3087,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i32>#delete (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i32>#delete (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -3158,7 +3147,7 @@
call $~lib/set/Set<i32>#rehash call $~lib/set/Set<i32>#rehash
end end
) )
(func $std/set/testNumeric<i32> (; 42 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i32> (; 40 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<i32>#constructor call $~lib/set/Set<i32>#constructor
@ -3403,11 +3392,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u32>#constructor (; 43 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<u32>#constructor (; 41 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 13 i32.const 8
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -3431,7 +3420,7 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $std/set/testNumeric<u32> (; 44 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u32> (; 42 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<u32>#constructor call $~lib/set/Set<u32>#constructor
@ -3676,7 +3665,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<i64>#clear (; 45 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<i64>#clear (; 43 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
i32.const 16 i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/arraybuffer/ArrayBuffer#constructor
@ -3711,11 +3700,11 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<i64>#constructor (; 46 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<i64>#constructor (; 44 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 15 i32.const 9
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -3739,7 +3728,7 @@
call $~lib/set/Set<i64>#clear call $~lib/set/Set<i64>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash64 (; 47 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/hash/hash64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.wrap_i64 i32.wrap_i64
@ -3805,7 +3794,7 @@
i32.const 16777619 i32.const 16777619
i32.mul i32.mul
) )
(func $~lib/set/Set<i64>#find (; 48 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (func $~lib/set/Set<i64>#find (; 46 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -3848,7 +3837,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i64>#has (; 49 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (func $~lib/set/Set<i64>#has (; 47 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -3857,7 +3846,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i64>#rehash (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i64>#rehash (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3960,7 +3949,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i64>#add (; 51 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (func $~lib/set/Set<i64>#add (; 49 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4043,7 +4032,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i64>#delete (; 52 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (func $~lib/set/Set<i64>#delete (; 50 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -4104,7 +4093,7 @@
call $~lib/set/Set<i64>#rehash call $~lib/set/Set<i64>#rehash
end end
) )
(func $std/set/testNumeric<i64> (; 53 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i64> (; 51 ;) (type $FUNCSIG$v)
(local $0 i64) (local $0 i64)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<i64>#constructor call $~lib/set/Set<i64>#constructor
@ -4349,11 +4338,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u64>#constructor (; 54 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<u64>#constructor (; 52 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 17 i32.const 10
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -4377,7 +4366,7 @@
call $~lib/set/Set<i64>#clear call $~lib/set/Set<i64>#clear
local.get $0 local.get $0
) )
(func $std/set/testNumeric<u64> (; 55 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u64> (; 53 ;) (type $FUNCSIG$v)
(local $0 i64) (local $0 i64)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<u64>#constructor call $~lib/set/Set<u64>#constructor
@ -4622,11 +4611,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<f32>#constructor (; 56 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<f32>#constructor (; 54 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 19 i32.const 11
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -4650,7 +4639,7 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<f32>#find (; 57 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (func $~lib/set/Set<f32>#find (; 55 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -4693,7 +4682,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<f32>#has (; 58 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (func $~lib/set/Set<f32>#has (; 56 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -4703,7 +4692,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<f32>#rehash (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<f32>#rehash (; 57 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4807,7 +4796,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<f32>#add (; 60 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (func $~lib/set/Set<f32>#add (; 58 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4891,7 +4880,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<f32>#delete (; 61 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (func $~lib/set/Set<f32>#delete (; 59 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -4953,7 +4942,7 @@
call $~lib/set/Set<f32>#rehash call $~lib/set/Set<f32>#rehash
end end
) )
(func $std/set/testNumeric<f32> (; 62 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<f32> (; 60 ;) (type $FUNCSIG$v)
(local $0 f32) (local $0 f32)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<f32>#constructor call $~lib/set/Set<f32>#constructor
@ -5198,11 +5187,11 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<f64>#constructor (; 63 ;) (type $FUNCSIG$i) (result i32) (func $~lib/set/Set<f64>#constructor (; 61 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32) (local $0 i32)
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 21 i32.const 12
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $0 local.tee $0
i32.const 0 i32.const 0
@ -5226,7 +5215,7 @@
call $~lib/set/Set<i64>#clear call $~lib/set/Set<i64>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<f64>#find (; 64 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (func $~lib/set/Set<f64>#find (; 62 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
local.get $0 local.get $0
i32.load i32.load
local.get $0 local.get $0
@ -5269,7 +5258,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<f64>#has (; 65 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (func $~lib/set/Set<f64>#has (; 63 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
local.get $1 local.get $1
@ -5279,7 +5268,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<f64>#rehash (; 66 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<f64>#rehash (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5383,7 +5372,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<f64>#add (; 67 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (func $~lib/set/Set<f64>#add (; 65 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5467,7 +5456,7 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<f64>#delete (; 68 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (func $~lib/set/Set<f64>#delete (; 66 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -5529,7 +5518,7 @@
call $~lib/set/Set<f64>#rehash call $~lib/set/Set<f64>#rehash
end end
) )
(func $std/set/testNumeric<f64> (; 69 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<f64> (; 67 ;) (type $FUNCSIG$v)
(local $0 f64) (local $0 f64)
(local $1 i32) (local $1 i32)
call $~lib/set/Set<f64>#constructor call $~lib/set/Set<f64>#constructor
@ -5774,7 +5763,7 @@
unreachable unreachable
end end
) )
(func $start (; 70 ;) (type $FUNCSIG$v) (func $start (; 68 ;) (type $FUNCSIG$v)
i32.const 152 i32.const 152
global.set $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset
@ -5790,7 +5779,7 @@
call $std/set/testNumeric<f32> call $std/set/testNumeric<f32>
call $std/set/testNumeric<f64> call $std/set/testNumeric<f64>
) )
(func $null (; 71 ;) (type $FUNCSIG$v) (func $null (; 69 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,9 +1,9 @@
(module (module
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vii (func (param i32 i32))) (type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
@ -19,11 +19,11 @@
(type $FUNCSIG$vid (func (param i32 f64))) (type $FUNCSIG$vid (func (param i32 f64)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1) (memory $0 1)
(data (i32.const 8) "\03\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00") (data (i32.const 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) "\03\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") (data (i32.const 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) "\03\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00") (data (i32.const 112) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00")
(table $0 23 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/set/Set<i8>~traverse $~lib/set/Set<i8>~traverse $~lib/string/String~traverse $~lib/arraybuffer/ArrayBuffer~traverse $~lib/set/Set<u8>~traverse $~lib/set/Set<u8>~traverse $~lib/set/Set<i16>~traverse $~lib/set/Set<i16>~traverse $~lib/set/Set<u16>~traverse $~lib/set/Set<u16>~traverse $~lib/set/Set<i32>~traverse $~lib/set/Set<i32>~traverse $~lib/set/Set<u32>~traverse $~lib/set/Set<u32>~traverse $~lib/set/Set<i64>~traverse $~lib/set/Set<i64>~traverse $~lib/set/Set<u64>~traverse $~lib/set/Set<u64>~traverse $~lib/set/Set<f32>~traverse $~lib/set/Set<f32>~traverse $~lib/set/Set<f64>~traverse $~lib/set/Set<f64>~traverse) (elem (i32.const 0) $null)
(global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
@ -154,27 +154,10 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $~lib/collector/dummy/__ref_mark (; 5 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
nop nop
) )
(func $~lib/set/Set<i8>~traverse (; 6 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/string/String~traverse (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/collector/dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/runtime/runtime.register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -212,7 +195,7 @@
call $~lib/collector/dummy/__ref_register call $~lib/collector/dummy/__ref_register
local.get $0 local.get $0
) )
(func $~lib/memory/memory.fill (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -469,10 +452,7 @@
end end
end end
) )
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 11 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $1 i32)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $1 local.get $1
global.get $~lib/util/runtime/MAX_BYTELENGTH global.get $~lib/util/runtime/MAX_BYTELENGTH
@ -493,16 +473,16 @@
local.get $1 local.get $1
call $~lib/memory/memory.fill call $~lib/memory/memory.fill
local.get $2 local.get $2
i32.const 4 i32.const 3
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/collector/dummy/__ref_link (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/collector/dummy/__ref_link (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop nop
) )
(func $~lib/collector/dummy/__ref_unlink (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/collector/dummy/__ref_unlink (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop nop
) )
(func $~lib/set/Set<i8>#clear (; 15 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<i8>#clear (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -571,7 +551,7 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<i8>#constructor (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i8>#constructor (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
@ -605,14 +585,14 @@
call $~lib/set/Set<i8>#clear call $~lib/set/Set<i8>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash8 (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/hash/hash8 (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const -2128831035 i32.const -2128831035
local.get $0 local.get $0
i32.xor i32.xor
i32.const 16777619 i32.const 16777619
i32.mul i32.mul
) )
(func $~lib/set/Set<i8>#find (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<i8>#find (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -667,7 +647,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i8>#has (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i8>#has (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -686,7 +666,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i8>#rehash (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i8>#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -856,7 +836,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i8>#add (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i8>#add (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -958,11 +938,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i8>#get:size (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i8>#get:size (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<i8>#delete (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i8>#delete (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1039,7 +1019,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<i8> (; 24 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i8> (; 20 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
i32.const 0 i32.const 0
@ -1322,18 +1302,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u8>~traverse (; 25 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<u8>#clear (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<u8>#clear (; 26 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -1402,14 +1371,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<u8>#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u8>#constructor (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 5 i32.const 4
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -1436,7 +1405,7 @@
call $~lib/set/Set<u8>#clear call $~lib/set/Set<u8>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<u8>#find (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<u8>#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -1489,7 +1458,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<u8>#has (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u8>#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -1506,7 +1475,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<u8>#rehash (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u8>#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1676,7 +1645,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<u8>#add (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u8>#add (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1776,11 +1745,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<u8>#get:size (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u8>#get:size (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<u8>#delete (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u8>#delete (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -1855,7 +1824,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<u8> (; 34 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u8> (; 29 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
i32.const 0 i32.const 0
@ -2138,18 +2107,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<i16>~traverse (; 35 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<i16>#clear (; 30 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<i16>#clear (; 36 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -2218,14 +2176,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<i16>#constructor (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i16>#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 7 i32.const 5
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -2252,7 +2210,7 @@
call $~lib/set/Set<i16>#clear call $~lib/set/Set<i16>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash16 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/hash/hash16 (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const -2128831035 i32.const -2128831035
local.set $1 local.set $1
@ -2274,7 +2232,7 @@
local.set $1 local.set $1
local.get $1 local.get $1
) )
(func $~lib/set/Set<i16>#find (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<i16>#find (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -2329,7 +2287,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i16>#has (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i16>#has (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -2348,7 +2306,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i16>#rehash (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i16>#rehash (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2518,7 +2476,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i16>#add (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i16>#add (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2620,11 +2578,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i16>#get:size (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i16>#get:size (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<i16>#delete (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i16>#delete (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2701,7 +2659,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<i16> (; 45 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i16> (; 39 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
i32.const 0 i32.const 0
@ -2984,18 +2942,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u16>~traverse (; 46 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<u16>#clear (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<u16>#clear (; 47 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -3064,14 +3011,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<u16>#constructor (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u16>#constructor (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 9 i32.const 6
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -3098,7 +3045,7 @@
call $~lib/set/Set<u16>#clear call $~lib/set/Set<u16>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<u16>#find (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<u16>#find (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -3151,7 +3098,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<u16>#has (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u16>#has (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -3168,7 +3115,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<u16>#rehash (; 51 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u16>#rehash (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3338,7 +3285,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<u16>#add (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u16>#add (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3438,11 +3385,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<u16>#get:size (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u16>#get:size (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<u16>#delete (; 54 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u16>#delete (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3517,7 +3464,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<u16> (; 55 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u16> (; 48 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
i32.const 0 i32.const 0
@ -3800,18 +3747,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<i32>~traverse (; 56 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<i32>#clear (; 49 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<i32>#clear (; 57 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -3880,14 +3816,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<i32>#constructor (; 58 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i32>#constructor (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 11 i32.const 7
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -3914,7 +3850,7 @@
call $~lib/set/Set<i32>#clear call $~lib/set/Set<i32>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash32 (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/hash/hash32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const -2128831035 i32.const -2128831035
local.set $1 local.set $1
@ -3956,7 +3892,7 @@
local.set $1 local.set $1
local.get $1 local.get $1
) )
(func $~lib/set/Set<i32>#find (; 60 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<i32>#find (; 52 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -4007,7 +3943,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i32>#has (; 61 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i32>#has (; 53 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -4022,7 +3958,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i32>#rehash (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i32>#rehash (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4192,7 +4128,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i32>#add (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i32>#add (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4290,11 +4226,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i32>#get:size (; 64 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i32>#get:size (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<i32>#delete (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<i32>#delete (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4367,7 +4303,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<i32> (; 66 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i32> (; 58 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
i32.const 0 i32.const 0
@ -4650,18 +4586,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u32>~traverse (; 67 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<u32>#clear (; 59 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<u32>#clear (; 68 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -4730,14 +4655,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<u32>#constructor (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u32>#constructor (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 13 i32.const 8
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -4764,7 +4689,7 @@
call $~lib/set/Set<u32>#clear call $~lib/set/Set<u32>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<u32>#find (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/set/Set<u32>#find (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -4815,7 +4740,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<u32>#has (; 71 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u32>#has (; 62 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -4830,7 +4755,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<u32>#rehash (; 72 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u32>#rehash (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5000,7 +4925,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<u32>#add (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u32>#add (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5098,11 +5023,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<u32>#get:size (; 74 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u32>#get:size (; 65 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<u32>#delete (; 75 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/set/Set<u32>#delete (; 66 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5175,7 +5100,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<u32> (; 76 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u32> (; 67 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
i32.const 0 i32.const 0
@ -5458,18 +5383,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<i64>~traverse (; 77 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<i64>#clear (; 68 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<i64>#clear (; 78 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -5538,14 +5452,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<i64>#constructor (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i64>#constructor (; 69 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 15 i32.const 9
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -5572,7 +5486,7 @@
call $~lib/set/Set<i64>#clear call $~lib/set/Set<i64>#clear
local.get $0 local.get $0
) )
(func $~lib/util/hash/hash64 (; 80 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/hash/hash64 (; 70 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -5660,7 +5574,7 @@
local.set $3 local.set $3
local.get $3 local.get $3
) )
(func $~lib/set/Set<i64>#find (; 81 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (func $~lib/set/Set<i64>#find (; 71 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -5711,7 +5625,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<i64>#has (; 82 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (func $~lib/set/Set<i64>#has (; 72 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
(local $2 i64) (local $2 i64)
local.get $0 local.get $0
local.get $1 local.get $1
@ -5726,7 +5640,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<i64>#rehash (; 83 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<i64>#rehash (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5897,7 +5811,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<i64>#add (; 84 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (func $~lib/set/Set<i64>#add (; 74 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
(local $2 i64) (local $2 i64)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5996,11 +5910,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<i64>#get:size (; 85 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<i64>#get:size (; 75 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<i64>#delete (; 86 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (func $~lib/set/Set<i64>#delete (; 76 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
(local $2 i64) (local $2 i64)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -6074,7 +5988,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<i64> (; 87 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<i64> (; 77 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i64) (local $1 i64)
i32.const 0 i32.const 0
@ -6357,18 +6271,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<u64>~traverse (; 88 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<u64>#clear (; 78 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<u64>#clear (; 89 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -6437,14 +6340,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<u64>#constructor (; 90 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u64>#constructor (; 79 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 17 i32.const 10
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -6471,7 +6374,7 @@
call $~lib/set/Set<u64>#clear call $~lib/set/Set<u64>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<u64>#find (; 91 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (func $~lib/set/Set<u64>#find (; 80 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -6522,7 +6425,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<u64>#has (; 92 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (func $~lib/set/Set<u64>#has (; 81 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
(local $2 i64) (local $2 i64)
local.get $0 local.get $0
local.get $1 local.get $1
@ -6537,7 +6440,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<u64>#rehash (; 93 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<u64>#rehash (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -6708,7 +6611,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<u64>#add (; 94 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64) (func $~lib/set/Set<u64>#add (; 83 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
(local $2 i64) (local $2 i64)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -6807,11 +6710,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<u64>#get:size (; 95 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<u64>#get:size (; 84 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<u64>#delete (; 96 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32) (func $~lib/set/Set<u64>#delete (; 85 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
(local $2 i64) (local $2 i64)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -6885,7 +6788,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<u64> (; 97 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<u64> (; 86 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i64) (local $1 i64)
i32.const 0 i32.const 0
@ -7168,18 +7071,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<f32>~traverse (; 98 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<f32>#clear (; 87 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<f32>#clear (; 99 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -7248,14 +7140,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<f32>#constructor (; 100 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<f32>#constructor (; 88 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 19 i32.const 11
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -7282,7 +7174,7 @@
call $~lib/set/Set<f32>#clear call $~lib/set/Set<f32>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<f32>#find (; 101 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (func $~lib/set/Set<f32>#find (; 89 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -7333,7 +7225,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<f32>#has (; 102 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (func $~lib/set/Set<f32>#has (; 90 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
(local $2 f32) (local $2 f32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -7349,7 +7241,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<f32>#rehash (; 103 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<f32>#rehash (; 91 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -7521,7 +7413,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<f32>#add (; 104 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32) (func $~lib/set/Set<f32>#add (; 92 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
(local $2 f32) (local $2 f32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -7621,11 +7513,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<f32>#get:size (; 105 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<f32>#get:size (; 93 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<f32>#delete (; 106 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32) (func $~lib/set/Set<f32>#delete (; 94 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
(local $2 f32) (local $2 f32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -7700,7 +7592,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<f32> (; 107 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<f32> (; 95 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 f32) (local $1 f32)
i32.const 0 i32.const 0
@ -7983,18 +7875,7 @@
unreachable unreachable
end end
) )
(func $~lib/set/Set<f64>~traverse (; 108 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/set/Set<f64>#clear (; 96 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
local.get $0
i32.load offset=8
local.set $1
local.get $1
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/set/Set<f64>#clear (; 109 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -8063,14 +7944,14 @@
i32.const 0 i32.const 0
i32.store offset=20 i32.store offset=20
) )
(func $~lib/set/Set<f64>#constructor (; 110 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<f64>#constructor (; 97 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32) block (result i32)
local.get $0 local.get $0
i32.eqz i32.eqz
if if
i32.const 24 i32.const 24
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 21 i32.const 12
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $0 local.set $0
end end
@ -8097,7 +7978,7 @@
call $~lib/set/Set<f64>#clear call $~lib/set/Set<f64>#clear
local.get $0 local.get $0
) )
(func $~lib/set/Set<f64>#find (; 111 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (func $~lib/set/Set<f64>#find (; 98 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -8148,7 +8029,7 @@
end end
i32.const 0 i32.const 0
) )
(func $~lib/set/Set<f64>#has (; 112 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (func $~lib/set/Set<f64>#has (; 99 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
(local $2 f64) (local $2 f64)
local.get $0 local.get $0
local.get $1 local.get $1
@ -8164,7 +8045,7 @@
i32.const 0 i32.const 0
i32.ne i32.ne
) )
(func $~lib/set/Set<f64>#rehash (; 113 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/set/Set<f64>#rehash (; 100 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -8336,7 +8217,7 @@
i32.load offset=20 i32.load offset=20
i32.store offset=16 i32.store offset=16
) )
(func $~lib/set/Set<f64>#add (; 114 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (func $~lib/set/Set<f64>#add (; 101 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
(local $2 f64) (local $2 f64)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -8436,11 +8317,11 @@
i32.store i32.store
end end
) )
(func $~lib/set/Set<f64>#get:size (; 115 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/set/Set<f64>#get:size (; 102 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=20 i32.load offset=20
) )
(func $~lib/set/Set<f64>#delete (; 116 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (func $~lib/set/Set<f64>#delete (; 103 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
(local $2 f64) (local $2 f64)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -8515,7 +8396,7 @@
end end
i32.const 1 i32.const 1
) )
(func $std/set/testNumeric<f64> (; 117 ;) (type $FUNCSIG$v) (func $std/set/testNumeric<f64> (; 104 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 f64) (local $1 f64)
i32.const 0 i32.const 0
@ -8798,7 +8679,7 @@
unreachable unreachable
end end
) )
(func $start:std/set (; 118 ;) (type $FUNCSIG$v) (func $start:std/set (; 105 ;) (type $FUNCSIG$v)
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
i32.const 7 i32.const 7
i32.add i32.add
@ -8820,9 +8701,9 @@
call $std/set/testNumeric<f32> call $std/set/testNumeric<f32>
call $std/set/testNumeric<f64> call $std/set/testNumeric<f64>
) )
(func $start (; 119 ;) (type $FUNCSIG$v) (func $start (; 106 ;) (type $FUNCSIG$v)
call $start:std/set call $start:std/set
) )
(func $null (; 120 ;) (type $FUNCSIG$v) (func $null (; 107 ;) (type $FUNCSIG$v)
) )
) )

View File

@ -39,7 +39,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -1480,7 +1480,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 14 i32.const 15
i32.const 64 i32.const 64
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -1541,7 +1541,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -1585,7 +1585,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -1629,7 +1629,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable

View File

@ -62,7 +62,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -1979,7 +1979,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 14 i32.const 15
i32.const 64 i32.const 64
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -2070,7 +2070,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -2138,7 +2138,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -2206,7 +2206,7 @@
if if
i32.const 0 i32.const 0
i32.const 240 i32.const 240
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable

View File

@ -1,8 +1,8 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$di (func (param i32) (result f64)))
@ -161,9 +161,9 @@
(data (i32.const 2128) ",\00a\00,\00b\00,\00c") (data (i32.const 2128) ",\00a\00,\00b\00,\00c")
(data (i32.const 2144) "\01\00\00\00\0c") (data (i32.const 2144) "\01\00\00\00\0c")
(data (i32.const 2160) "a\00,\00b\00,\00c\00,") (data (i32.const 2160) "a\00,\00b\00,\00c\00,")
(data (i32.const 2176) "\04\00\00\00\90\01") (data (i32.const 2176) "\03\00\00\00\90\01")
(data (i32.const 2192) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") (data (i32.const 2192) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009")
(data (i32.const 2592) "\05\00\00\00\10") (data (i32.const 2592) "\04\00\00\00\10")
(data (i32.const 2608) "\90\08\00\00\90\08\00\00\90\01\00\00d") (data (i32.const 2608) "\90\08\00\00\90\08\00\00\90\01\00\00d")
(data (i32.const 2624) "\01\00\00\00\02") (data (i32.const 2624) "\01\00\00\00\02")
(data (i32.const 2640) "8") (data (i32.const 2640) "8")
@ -233,17 +233,17 @@
(data (i32.const 3880) "-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 3880) "-\00I\00n\00f\00i\00n\00i\00t\00y")
(data (i32.const 3904) "\01\00\00\00\10") (data (i32.const 3904) "\01\00\00\00\10")
(data (i32.const 3920) "I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 3920) "I\00n\00f\00i\00n\00i\00t\00y")
(data (i32.const 3936) "\04\00\00\00\b8\02") (data (i32.const 3936) "\03\00\00\00\b8\02")
(data (i32.const 3952) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8<D\a7\a4\d9|\9b\fb\10D\a4\a7LLv\bb\1a\9c@\b6\ef\8e\ab\8b,\84W\a6\10\ef\1f\d0)1\91\e9\e5\a4\10\9b\9d\0c\9c\a1\fb\9b\10\e7)\f4;b\d9 (\ac\85\cf\a7z^KD\80-\dd\ac\03@\e4!\bf\8f\ffD^/\9cg\8eA\b8\8c\9c\9d\173\d4\a9\1b\e3\b4\92\db\19\9e\d9w\df\ban\bf\96\ebk\ee\f0\9b;\02\87\af") (data (i32.const 3952) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8<D\a7\a4\d9|\9b\fb\10D\a4\a7LLv\bb\1a\9c@\b6\ef\8e\ab\8b,\84W\a6\10\ef\1f\d0)1\91\e9\e5\a4\10\9b\9d\0c\9c\a1\fb\9b\10\e7)\f4;b\d9 (\ac\85\cf\a7z^KD\80-\dd\ac\03@\e4!\bf\8f\ffD^/\9cg\8eA\b8\8c\9c\9d\173\d4\a9\1b\e3\b4\92\db\19\9e\d9w\df\ban\bf\96\ebk\ee\f0\9b;\02\87\af")
(data (i32.const 4648) "\07\00\00\00\10") (data (i32.const 4648) "\05\00\00\00\10")
(data (i32.const 4664) "p\0f\00\00p\0f\00\00\b8\02\00\00W") (data (i32.const 4664) "p\0f\00\00p\0f\00\00\b8\02\00\00W")
(data (i32.const 4680) "\04\00\00\00\ae") (data (i32.const 4680) "\03\00\00\00\ae")
(data (i32.const 4696) "<\fbW\fbr\fb\8c\fb\a7\fb\c1\fb\dc\fb\f6\fb\11\fc,\fcF\fca\fc{\fc\96\fc\b1\fc\cb\fc\e6\fc\00\fd\1b\fd5\fdP\fdk\fd\85\fd\a0\fd\ba\fd\d5\fd\ef\fd\n\fe%\fe?\feZ\fet\fe\8f\fe\a9\fe\c4\fe\df\fe\f9\fe\14\ff.\ffI\ffc\ff~\ff\99\ff\b3\ff\ce\ff\e8\ff\03\00\1e\008\00S\00m\00\88\00\a2\00\bd\00\d8\00\f2\00\0d\01\'\01B\01\\\01w\01\92\01\ac\01\c7\01\e1\01\fc\01\16\021\02L\02f\02\81\02\9b\02\b6\02\d0\02\eb\02\06\03 \03;\03U\03p\03\8b\03\a5\03\c0\03\da\03\f5\03\0f\04*\04") (data (i32.const 4696) "<\fbW\fbr\fb\8c\fb\a7\fb\c1\fb\dc\fb\f6\fb\11\fc,\fcF\fca\fc{\fc\96\fc\b1\fc\cb\fc\e6\fc\00\fd\1b\fd5\fdP\fdk\fd\85\fd\a0\fd\ba\fd\d5\fd\ef\fd\n\fe%\fe?\feZ\fet\fe\8f\fe\a9\fe\c4\fe\df\fe\f9\fe\14\ff.\ffI\ffc\ff~\ff\99\ff\b3\ff\ce\ff\e8\ff\03\00\1e\008\00S\00m\00\88\00\a2\00\bd\00\d8\00\f2\00\0d\01\'\01B\01\\\01w\01\92\01\ac\01\c7\01\e1\01\fc\01\16\021\02L\02f\02\81\02\9b\02\b6\02\d0\02\eb\02\06\03 \03;\03U\03p\03\8b\03\a5\03\c0\03\da\03\f5\03\0f\04*\04")
(data (i32.const 4872) "\t\00\00\00\10") (data (i32.const 4872) "\06\00\00\00\10")
(data (i32.const 4888) "X\12\00\00X\12\00\00\ae\00\00\00W") (data (i32.const 4888) "X\12\00\00X\12\00\00\ae\00\00\00W")
(data (i32.const 4904) "\04\00\00\00(") (data (i32.const 4904) "\03\00\00\00(")
(data (i32.const 4920) "\01\00\00\00\n\00\00\00d\00\00\00\e8\03\00\00\10\'\00\00\a0\86\01\00@B\0f\00\80\96\98\00\00\e1\f5\05\00\ca\9a;") (data (i32.const 4920) "\01\00\00\00\n\00\00\00d\00\00\00\e8\03\00\00\10\'\00\00\a0\86\01\00@B\0f\00\80\96\98\00\00\e1\f5\05\00\ca\9a;")
(data (i32.const 4960) "\05\00\00\00\10") (data (i32.const 4960) "\04\00\00\00\10")
(data (i32.const 4976) "8\13\00\008\13\00\00(\00\00\00\n") (data (i32.const 4976) "8\13\00\008\13\00\00(\00\00\00\n")
(data (i32.const 4992) "\01\00\00\00*") (data (i32.const 4992) "\01\00\00\00*")
(data (i32.const 5008) "2\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006") (data (i32.const 5008) "2\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006")
@ -325,8 +325,8 @@
(data (i32.const 6680) "1\00.\001\00e\00-\006\004") (data (i32.const 6680) "1\00.\001\00e\00-\006\004")
(data (i32.const 6696) "\01\00\00\00\16") (data (i32.const 6696) "\01\00\00\00\16")
(data (i32.const 6712) "0\00.\000\000\000\000\003\005\006\008\009") (data (i32.const 6712) "0\00.\000\000\000\000\003\005\006\008\009")
(table $0 11 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse $~lib/array/Array<~lib/string/String>~traverse $~lib/array/Array<~lib/string/String>~traverse $~lib/string/String~traverse $~lib/array/Array<u32>~traverse $~lib/array/Array<u32>~traverse $~lib/array/Array<u32>~traverse $~lib/array/Array<u32>~traverse $~lib/array/Array<u32>~traverse $~lib/array/Array<u32>~traverse) (elem (i32.const 0) $null)
(global $std/string/str (mut i32) (i32.const 24)) (global $std/string/str (mut i32) (i32.const 24))
(global $std/string/nullStr (mut i32) (i32.const 0)) (global $std/string/nullStr (mut i32) (i32.const 0))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
@ -347,10 +347,7 @@
(export "getString" (func $std/string/getString)) (export "getString" (func $std/string/getString))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
nop
)
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -412,7 +409,7 @@
global.set $~lib/allocator/arena/offset global.set $~lib/allocator/arena/offset
local.get $1 local.get $1
) )
(func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
@ -439,7 +436,7 @@
i32.const 16 i32.const 16
i32.add i32.add
) )
(func $~lib/runtime/runtime.register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
i32.const 6736 i32.const 6736
@ -472,7 +469,7 @@
i32.store i32.store
local.get $0 local.get $0
) )
(func $~lib/string/String.fromCharCode (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String.fromCharCode (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const 2 i32.const 2
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
@ -483,7 +480,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (func $~lib/util/string/compareImpl (; 5 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32) (local $4 i32)
local.get $1 local.get $1
i32.const 1 i32.const 1
@ -522,7 +519,7 @@
end end
local.get $4 local.get $4
) )
(func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__eq (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
local.get $1 local.get $1
@ -569,7 +566,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $~lib/string/String.fromCodePoint (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String.fromCodePoint (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
@ -624,7 +621,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#startsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String#startsWith (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -672,7 +669,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $~lib/string/String#endsWith (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String#endsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -720,7 +717,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $~lib/string/String#indexOf (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#indexOf (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -804,7 +801,7 @@
end end
i32.const -1 i32.const -1
) )
(func $~lib/util/memory/memcpy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/util/memory/memcpy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -1651,7 +1648,7 @@
i32.store8 i32.store8
end end
) )
(func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.copy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
block $~lib/util/memory/memmove|inlined.0 block $~lib/util/memory/memmove|inlined.0
@ -1845,7 +1842,7 @@
end end
end end
) )
(func $~lib/memory/memory.repeat (; 14 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (func $~lib/memory/memory.repeat (; 13 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32) (local $4 i32)
local.get $2 local.get $2
local.get $3 local.get $3
@ -1870,7 +1867,7 @@
end end
end end
) )
(func $~lib/string/String#padStart (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#padStart (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -1966,7 +1963,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#padEnd (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#padEnd (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2063,7 +2060,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#lastIndexOf (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#lastIndexOf (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -2146,7 +2143,7 @@
end end
i32.const -1 i32.const -1
) )
(func $~lib/util/string/parse<f64> (; 18 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (func $~lib/util/string/parse<f64> (; 17 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -2382,7 +2379,7 @@
local.get $5 local.get $5
f64.mul f64.mul
) )
(func $~lib/string/parseFloat (; 19 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (func $~lib/string/parseFloat (; 18 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 f64) (local $3 f64)
@ -2552,7 +2549,7 @@
local.get $3 local.get $3
f64.mul f64.mul
) )
(func $~lib/string/String#concat (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String#concat (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2601,7 +2598,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String.__concat (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__concat (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
i32.const 352 i32.const 352
local.get $0 local.get $0
@ -2609,13 +2606,13 @@
local.get $1 local.get $1
call $~lib/string/String#concat call $~lib/string/String#concat
) )
(func $~lib/string/String.__ne (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__ne (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
call $~lib/string/String.__eq call $~lib/string/String.__eq
i32.eqz i32.eqz
) )
(func $~lib/string/String.__gt (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__gt (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
block (result i32) block (result i32)
@ -2680,7 +2677,7 @@
i32.const 0 i32.const 0
i32.gt_s i32.gt_s
) )
(func $~lib/string/String.__lt (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__lt (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
block (result i32) block (result i32)
@ -2745,19 +2742,19 @@
i32.const 0 i32.const 0
i32.lt_s i32.lt_s
) )
(func $~lib/string/String.__gte (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__gte (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
call $~lib/string/String.__lt call $~lib/string/String.__lt
i32.eqz i32.eqz
) )
(func $~lib/string/String.__lte (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String.__lte (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 120 i32.const 120
local.get $0 local.get $0
call $~lib/string/String.__gt call $~lib/string/String.__gt
i32.eqz i32.eqz
) )
(func $~lib/string/String#repeat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String#repeat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -2837,7 +2834,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#slice (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#slice (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
i32.const 16 i32.const 16
@ -2915,35 +2912,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/array/Array<~lib/string/String>~traverse (; 29 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.makeArray (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $1 i32)
local.get $0
i32.load
drop
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
drop
local.get $1
i32.const 4
i32.add
local.set $1
br $continue|0
end
end
)
(func $~lib/runtime/runtime.makeArray (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2957,7 +2926,7 @@
i32.shl i32.shl
local.tee $2 local.tee $2
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 4 i32.const 3
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.tee $3 local.tee $3
local.set $4 local.set $4
@ -2978,7 +2947,7 @@
i32.store offset=12 i32.store offset=12
local.get $1 local.get $1
) )
(func $~lib/memory/memory.fill (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/memory/memory.fill (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
block $~lib/util/memory/memset|inlined.0 block $~lib/util/memory/memset|inlined.0
local.get $1 local.get $1
@ -3189,7 +3158,7 @@
end end
end end
) )
(func $~lib/runtime/runtime.reallocate (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.reallocate (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3291,7 +3260,7 @@
i32.store offset=4 i32.store offset=4
local.get $0 local.get $0
) )
(func $~lib/array/ensureCapacity (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/array/ensureCapacity (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $1 local.get $1
@ -3307,7 +3276,7 @@
if if
i32.const 0 i32.const 0
i32.const 1912 i32.const 1912
i32.const 14 i32.const 15
i32.const 64 i32.const 64
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -3340,7 +3309,7 @@
i32.store offset=8 i32.store offset=8
end end
) )
(func $~lib/array/Array<~lib/string/String>#push (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/array/Array<~lib/string/String>#push (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -3370,7 +3339,7 @@
local.get $3 local.get $3
i32.store offset=12 i32.store offset=12
) )
(func $~lib/string/String#split (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#split (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -3621,7 +3590,7 @@
end end
local.get $2 local.get $2
) )
(func $~lib/array/Array<~lib/string/String>#__get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<~lib/string/String>#__get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
@ -3629,7 +3598,7 @@
if if
i32.const 0 i32.const 0
i32.const 1912 i32.const 1912
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -3643,7 +3612,7 @@
if if
i32.const 0 i32.const 0
i32.const 1912 i32.const 1912
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -3656,7 +3625,7 @@
i32.add i32.add
i32.load i32.load
) )
(func $~lib/util/number/decimalCount32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/number/decimalCount32 (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.const 100000 i32.const 100000
i32.lt_u i32.lt_u
@ -3710,12 +3679,7 @@
end end
end end
) )
(func $~lib/array/Array<u32>~traverse (; 38 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/util/number/utoa32_lut (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $0
i32.load
drop
)
(func $~lib/util/number/utoa32_lut (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
i32.const 2612 i32.const 2612
@ -3825,7 +3789,7 @@
i32.store16 i32.store16
end end
) )
(func $~lib/util/number/itoa32 (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/number/itoa32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -3867,7 +3831,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/number/utoa32 (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/number/utoa32 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
@ -3890,7 +3854,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/number/decimalCount64 (; 42 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/number/decimalCount64 (; 39 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
local.get $0 local.get $0
i64.const 1000000000000000 i64.const 1000000000000000
i64.lt_u i64.lt_u
@ -3944,7 +3908,7 @@
end end
end end
) )
(func $~lib/util/number/utoa64_lut (; 43 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (func $~lib/util/number/utoa64_lut (; 40 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -4041,7 +4005,7 @@
local.get $2 local.get $2
call $~lib/util/number/utoa32_lut call $~lib/util/number/utoa32_lut
) )
(func $~lib/util/number/utoa64 (; 44 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/number/utoa64 (; 41 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -4083,7 +4047,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/number/itoa64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/number/itoa64 (; 42 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -4148,7 +4112,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/number/genDigits (; 46 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (func $~lib/util/number/genDigits (; 43 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
(local $7 i32) (local $7 i32)
(local $8 i32) (local $8 i32)
(local $9 i64) (local $9 i64)
@ -4563,7 +4527,7 @@
local.get $6 local.get $6
end end
) )
(func $~lib/util/number/prettify (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/util/number/prettify (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $2 local.get $2
@ -4822,7 +4786,7 @@
end end
end end
) )
(func $~lib/util/number/dtoa_core (; 48 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (func $~lib/util/number/dtoa_core (; 45 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
(local $2 i64) (local $2 i64)
(local $3 i32) (local $3 i32)
(local $4 i64) (local $4 i64)
@ -5110,7 +5074,7 @@
local.get $10 local.get $10
i32.add i32.add
) )
(func $~lib/string/String#substring (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String#substring (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -5206,7 +5170,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/runtime/runtime.discard (; 50 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.discard (; 47 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
i32.const 6736 i32.const 6736
i32.le_u i32.le_u
@ -5233,7 +5197,7 @@
unreachable unreachable
end end
) )
(func $~lib/util/number/dtoa (; 51 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (func $~lib/util/number/dtoa (; 48 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
@ -5278,7 +5242,7 @@
call $~lib/runtime/runtime.discard call $~lib/runtime/runtime.discard
local.get $1 local.get $1
) )
(func $start:std/string (; 52 ;) (type $FUNCSIG$v) (func $start:std/string (; 49 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
global.get $std/string/str global.get $std/string/str
i32.const 24 i32.const 24
@ -8649,13 +8613,13 @@
unreachable unreachable
end end
) )
(func $std/string/getString (; 53 ;) (type $FUNCSIG$i) (result i32) (func $std/string/getString (; 50 ;) (type $FUNCSIG$i) (result i32)
global.get $std/string/str global.get $std/string/str
) )
(func $start (; 54 ;) (type $FUNCSIG$v) (func $start (; 51 ;) (type $FUNCSIG$v)
call $start:std/string call $start:std/string
) )
(func $null (; 55 ;) (type $FUNCSIG$v) (func $null (; 52 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,8 +1,8 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$viii (func (param i32 i32 i32)))
@ -93,8 +93,8 @@
(data (i32.const 2080) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00,\00c\00") (data (i32.const 2080) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00,\00c\00")
(data (i32.const 2112) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00,\00a\00,\00b\00,\00c\00") (data (i32.const 2112) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00,\00a\00,\00b\00,\00c\00")
(data (i32.const 2144) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00c\00,\00") (data (i32.const 2144) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00c\00,\00")
(data (i32.const 2176) "\04\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") (data (i32.const 2176) "\03\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00")
(data (i32.const 2592) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00") (data (i32.const 2592) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00")
(data (i32.const 2624) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\008\00") (data (i32.const 2624) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\008\00")
(data (i32.const 2648) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\000\000\000\00") (data (i32.const 2648) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\000\000\000\00")
(data (i32.const 2680) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\002\003\004\00") (data (i32.const 2680) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\002\003\004\00")
@ -129,12 +129,12 @@
(data (i32.const 3840) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00") (data (i32.const 3840) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00")
(data (i32.const 3864) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") (data (i32.const 3864) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00")
(data (i32.const 3904) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") (data (i32.const 3904) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00")
(data (i32.const 3936) "\04\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<D\a7\a4\d9|\9b\fb\10D\a4\a7LLv\bb\1a\9c@\b6\ef\8e\ab\8b,\84W\a6\10\ef\1f\d0)1\91\e9\e5\a4\10\9b\9d\0c\9c\a1\fb\9b\10\e7)\f4;b\d9 (\ac\85\cf\a7z^KD\80-\dd\ac\03@\e4!\bf\8f\ffD^/\9cg\8eA\b8\8c\9c\9d\173\d4\a9\1b\e3\b4\92\db\19\9e\d9w\df\ban\bf\96\ebk\ee\f0\9b;\02\87\af") (data (i32.const 3936) "\03\00\00\00\b8\02\00\00\00\00\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8<D\a7\a4\d9|\9b\fb\10D\a4\a7LLv\bb\1a\9c@\b6\ef\8e\ab\8b,\84W\a6\10\ef\1f\d0)1\91\e9\e5\a4\10\9b\9d\0c\9c\a1\fb\9b\10\e7)\f4;b\d9 (\ac\85\cf\a7z^KD\80-\dd\ac\03@\e4!\bf\8f\ffD^/\9cg\8eA\b8\8c\9c\9d\173\d4\a9\1b\e3\b4\92\db\19\9e\d9w\df\ban\bf\96\ebk\ee\f0\9b;\02\87\af")
(data (i32.const 4648) "\07\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00p\0f\00\00p\0f\00\00\b8\02\00\00W\00\00\00") (data (i32.const 4648) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00p\0f\00\00p\0f\00\00\b8\02\00\00W\00\00\00")
(data (i32.const 4680) "\04\00\00\00\ae\00\00\00\00\00\00\00\00\00\00\00<\fbW\fbr\fb\8c\fb\a7\fb\c1\fb\dc\fb\f6\fb\11\fc,\fcF\fca\fc{\fc\96\fc\b1\fc\cb\fc\e6\fc\00\fd\1b\fd5\fdP\fdk\fd\85\fd\a0\fd\ba\fd\d5\fd\ef\fd\n\fe%\fe?\feZ\fet\fe\8f\fe\a9\fe\c4\fe\df\fe\f9\fe\14\ff.\ffI\ffc\ff~\ff\99\ff\b3\ff\ce\ff\e8\ff\03\00\1e\008\00S\00m\00\88\00\a2\00\bd\00\d8\00\f2\00\0d\01\'\01B\01\\\01w\01\92\01\ac\01\c7\01\e1\01\fc\01\16\021\02L\02f\02\81\02\9b\02\b6\02\d0\02\eb\02\06\03 \03;\03U\03p\03\8b\03\a5\03\c0\03\da\03\f5\03\0f\04*\04") (data (i32.const 4680) "\03\00\00\00\ae\00\00\00\00\00\00\00\00\00\00\00<\fbW\fbr\fb\8c\fb\a7\fb\c1\fb\dc\fb\f6\fb\11\fc,\fcF\fca\fc{\fc\96\fc\b1\fc\cb\fc\e6\fc\00\fd\1b\fd5\fdP\fdk\fd\85\fd\a0\fd\ba\fd\d5\fd\ef\fd\n\fe%\fe?\feZ\fet\fe\8f\fe\a9\fe\c4\fe\df\fe\f9\fe\14\ff.\ffI\ffc\ff~\ff\99\ff\b3\ff\ce\ff\e8\ff\03\00\1e\008\00S\00m\00\88\00\a2\00\bd\00\d8\00\f2\00\0d\01\'\01B\01\\\01w\01\92\01\ac\01\c7\01\e1\01\fc\01\16\021\02L\02f\02\81\02\9b\02\b6\02\d0\02\eb\02\06\03 \03;\03U\03p\03\8b\03\a5\03\c0\03\da\03\f5\03\0f\04*\04")
(data (i32.const 4872) "\t\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00X\12\00\00X\12\00\00\ae\00\00\00W\00\00\00") (data (i32.const 4872) "\06\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00X\12\00\00X\12\00\00\ae\00\00\00W\00\00\00")
(data (i32.const 4904) "\04\00\00\00(\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00d\00\00\00\e8\03\00\00\10\'\00\00\a0\86\01\00@B\0f\00\80\96\98\00\00\e1\f5\05\00\ca\9a;") (data (i32.const 4904) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00d\00\00\00\e8\03\00\00\10\'\00\00\a0\86\01\00@B\0f\00\80\96\98\00\00\e1\f5\05\00\ca\9a;")
(data (i32.const 4960) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\008\13\00\008\13\00\00(\00\00\00\n\00\00\00") (data (i32.const 4960) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\008\13\00\008\13\00\00(\00\00\00\n\00\00\00")
(data (i32.const 4992) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00") (data (i32.const 4992) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00")
(data (i32.const 5056) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00-\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00") (data (i32.const 5056) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00-\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00")
(data (i32.const 5120) "\01\00\00\00.\00\00\00\00\00\00\00\00\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008\00") (data (i32.const 5120) "\01\00\00\00.\00\00\00\00\00\00\00\00\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008\00")
@ -175,8 +175,8 @@
(data (i32.const 6632) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\001\00.\001\00e\00+\001\002\008\00") (data (i32.const 6632) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\001\00.\001\00e\00+\001\002\008\00")
(data (i32.const 6664) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\001\00.\001\00e\00-\006\004\00") (data (i32.const 6664) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\001\00.\001\00e\00-\006\004\00")
(data (i32.const 6696) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\000\00.\000\000\000\000\003\005\006\008\009\00") (data (i32.const 6696) "\01\00\00\00\16\00\00\00\00\00\00\00\00\00\00\000\00.\000\000\000\000\003\005\006\008\009\00")
(table $0 11 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse $~lib/array/Array<~lib/string/String>~traverse $~lib/array/Array<~lib/string/String>~traverse $~lib/arraybuffer/ArrayBuffer~traverse $~lib/array/Array<u32>~traverse $~lib/array/Array<u32>~traverse $~lib/array/Array<u64>~traverse $~lib/array/Array<u64>~traverse $~lib/array/Array<i16>~traverse $~lib/array/Array<i16>~traverse) (elem (i32.const 0) $null)
(global $std/string/str (mut i32) (i32.const 24)) (global $std/string/str (mut i32) (i32.const 24))
(global $std/string/nullStr (mut i32) (i32.const 0)) (global $std/string/nullStr (mut i32) (i32.const 0))
(global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16)) (global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16))
@ -211,10 +211,7 @@
(export "getString" (func $std/string/getString)) (export "getString" (func $std/string/getString))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/string/String#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
)
(func $~lib/string/String#get:length (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.sub i32.sub
@ -222,7 +219,7 @@
i32.const 1 i32.const 1
i32.shr_u i32.shr_u
) )
(func $~lib/string/String#charCodeAt (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String#charCodeAt (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
local.get $0 local.get $0
call $~lib/string/String#get:length call $~lib/string/String#get:length
@ -238,7 +235,7 @@
i32.add i32.add
i32.load16_u i32.load16_u
) )
(func $~lib/string/String.__not (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String.__not (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 0 i32.const 0
@ -252,7 +249,7 @@
i32.eqz i32.eqz
end end
) )
(func $~lib/runtime/runtime.adjust (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.adjust (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 1 i32.const 1
i32.const 32 i32.const 32
local.get $0 local.get $0
@ -264,7 +261,7 @@
i32.sub i32.sub
i32.shl i32.shl
) )
(func $~lib/allocator/arena/__mem_allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/allocator/arena/__mem_allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -343,12 +340,12 @@
global.set $~lib/allocator/arena/offset global.set $~lib/allocator/arena/offset
local.get $1 local.get $1
) )
(func $~lib/memory/memory.allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/memory/memory.allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
call $~lib/allocator/arena/__mem_allocate call $~lib/allocator/arena/__mem_allocate
return return
) )
(func $~lib/runtime/runtime.allocate (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/runtime/runtime.allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
call $~lib/runtime/runtime.adjust call $~lib/runtime/runtime.adjust
@ -370,10 +367,10 @@
global.get $~lib/util/runtime/HEADER_SIZE global.get $~lib/util/runtime/HEADER_SIZE
i32.add i32.add
) )
(func $~lib/collector/dummy/__ref_register (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
nop nop
) )
(func $~lib/runtime/runtime.register (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -411,7 +408,7 @@
call $~lib/collector/dummy/__ref_register call $~lib/collector/dummy/__ref_register
local.get $0 local.get $0
) )
(func $~lib/string/String.fromCharCode (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String.fromCharCode (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
i32.const 2 i32.const 2
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
@ -423,7 +420,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/string/compareImpl (; 12 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (func $~lib/util/string/compareImpl (; 11 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 i32) (local $5 i32)
(local $6 i32) (local $6 i32)
(local $7 i32) (local $7 i32)
@ -476,7 +473,7 @@
end end
local.get $5 local.get $5
) )
(func $~lib/string/String.__eq (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
local.get $0 local.get $0
@ -520,7 +517,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $~lib/string/String.fromCodePoint (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/string/String.fromCodePoint (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -583,7 +580,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#startsWith (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#startsWith (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -650,7 +647,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $~lib/string/String#endsWith (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#endsWith (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -714,7 +711,7 @@
call $~lib/util/string/compareImpl call $~lib/util/string/compareImpl
i32.eqz i32.eqz
) )
(func $~lib/string/String#indexOf (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#indexOf (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -808,7 +805,7 @@
end end
i32.const -1 i32.const -1
) )
(func $~lib/util/memory/memcpy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/util/memory/memcpy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2009,7 +2006,7 @@
i32.store8 i32.store8
end end
) )
(func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.copy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2240,7 +2237,7 @@
end end
end end
) )
(func $~lib/memory/memory.repeat (; 20 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (func $~lib/memory/memory.repeat (; 19 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
i32.const 0 i32.const 0
@ -2272,7 +2269,7 @@
end end
end end
) )
(func $~lib/string/String#padStart (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#padStart (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2373,7 +2370,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#padEnd (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#padEnd (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2478,7 +2475,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#lastIndexOf (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#lastIndexOf (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -2570,7 +2567,7 @@
end end
i32.const -1 i32.const -1
) )
(func $~lib/util/string/parse<f64> (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (func $~lib/util/string/parse<f64> (; 23 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -2871,12 +2868,12 @@
local.get $7 local.get $7
f64.mul f64.mul
) )
(func $~lib/string/parseInt (; 25 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64) (func $~lib/string/parseInt (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
local.get $0 local.get $0
local.get $1 local.get $1
call $~lib/util/string/parse<f64> call $~lib/util/string/parse<f64>
) )
(func $~lib/string/parseFloat (; 26 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (func $~lib/string/parseFloat (; 25 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -3073,7 +3070,7 @@
local.get $5 local.get $5
f64.mul f64.mul
) )
(func $~lib/string/String#concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String#concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3123,7 +3120,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String.__concat (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
i32.const 352 i32.const 352
local.get $0 local.get $0
@ -3133,13 +3130,13 @@
local.get $1 local.get $1
call $~lib/string/String#concat call $~lib/string/String#concat
) )
(func $~lib/string/String.__ne (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__ne (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
call $~lib/string/String.__eq call $~lib/string/String.__eq
i32.eqz i32.eqz
) )
(func $~lib/string/String.__gt (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__gt (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3201,7 +3198,7 @@
i32.const 0 i32.const 0
i32.gt_s i32.gt_s
) )
(func $~lib/string/String.__lt (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__lt (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3263,19 +3260,19 @@
i32.const 0 i32.const 0
i32.lt_s i32.lt_s
) )
(func $~lib/string/String.__gte (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__gte (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
call $~lib/string/String.__lt call $~lib/string/String.__lt
i32.eqz i32.eqz
) )
(func $~lib/string/String.__lte (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String.__lte (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
local.get $1 local.get $1
call $~lib/string/String.__gt call $~lib/string/String.__gt
i32.eqz i32.eqz
) )
(func $~lib/string/String#repeat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/string/String#repeat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3358,7 +3355,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/string/String#slice (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#slice (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -3448,58 +3445,13 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/collector/dummy/__ref_mark (; 36 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/dummy/__ref_link (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop nop
) )
(func $~lib/array/Array<~lib/string/String>~traverse (; 37 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/collector/dummy/__ref_unlink (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__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/dummy/__ref_mark
local.get $3
call $~lib/string/String~traverse
local.get $1
i32.const 4
i32.add
local.set $1
end
br $continue|0
end
end
end
)
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 38 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/collector/dummy/__ref_link (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop nop
) )
(func $~lib/collector/dummy/__ref_unlink (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (func $~lib/runtime/runtime.makeArray (; 37 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
nop
)
(func $~lib/runtime/runtime.makeArray (; 41 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
(local $6 i32) (local $6 i32)
@ -3519,7 +3471,7 @@
local.get $2 local.get $2
i32.shl i32.shl
call $~lib/runtime/runtime.allocate call $~lib/runtime/runtime.allocate
i32.const 4 i32.const 3
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
local.set $6 local.set $6
local.get $4 local.get $4
@ -3563,7 +3515,7 @@
end end
local.get $4 local.get $4
) )
(func $~lib/memory/memory.fill (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/memory/memory.fill (; 38 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -3820,14 +3772,14 @@
end end
end end
) )
(func $~lib/allocator/arena/__mem_free (; 43 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/allocator/arena/__mem_free (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
nop nop
) )
(func $~lib/memory/memory.free (; 44 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/memory/memory.free (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0 local.get $0
call $~lib/allocator/arena/__mem_free call $~lib/allocator/arena/__mem_free
) )
(func $~lib/runtime/runtime.reallocate (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/runtime/runtime.reallocate (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -3931,7 +3883,7 @@
i32.store offset=4 i32.store offset=4
local.get $0 local.get $0
) )
(func $~lib/array/ensureCapacity (; 46 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/array/ensureCapacity (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -3953,7 +3905,7 @@
if if
i32.const 0 i32.const 0
i32.const 1912 i32.const 1912
i32.const 14 i32.const 15
i32.const 64 i32.const 64
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -4005,7 +3957,7 @@
i32.store offset=8 i32.store offset=8
end end
) )
(func $~lib/array/Array<~lib/string/String>#push (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<~lib/string/String>#push (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
@ -4055,7 +4007,7 @@
i32.store offset=12 i32.store offset=12
local.get $3 local.get $3
) )
(func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 48 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
local.get $0 local.get $0
@ -4088,7 +4040,7 @@
call $~lib/collector/dummy/__ref_link call $~lib/collector/dummy/__ref_link
end end
) )
(func $~lib/string/String#split (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#split (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -4395,11 +4347,11 @@
end end
local.get $9 local.get $9
) )
(func $~lib/array/Array<~lib/string/String>#get:length (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/array/Array<~lib/string/String>#get:length (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
) )
(func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
i32.load offset=4 i32.load offset=4
local.get $1 local.get $1
@ -4408,7 +4360,7 @@
i32.add i32.add
i32.load i32.load
) )
(func $~lib/array/Array<~lib/string/String>#__get (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (func $~lib/array/Array<~lib/string/String>#__get (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1 local.get $1
local.get $0 local.get $0
i32.load offset=12 i32.load offset=12
@ -4416,7 +4368,7 @@
if if
i32.const 0 i32.const 0
i32.const 1912 i32.const 1912
i32.const 96 i32.const 97
i32.const 45 i32.const 45
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -4430,7 +4382,7 @@
if if
i32.const 0 i32.const 0
i32.const 1912 i32.const 1912
i32.const 99 i32.const 100
i32.const 61 i32.const 61
call $~lib/env/abort call $~lib/env/abort
unreachable unreachable
@ -4439,7 +4391,7 @@
local.get $1 local.get $1
call $~lib/array/Array<~lib/string/String>#__unchecked_get call $~lib/array/Array<~lib/string/String>#__unchecked_get
) )
(func $~lib/util/number/decimalCount32 (; 53 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/number/decimalCount32 (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i32.const 100000 i32.const 100000
@ -4508,12 +4460,7 @@
unreachable unreachable
unreachable unreachable
) )
(func $~lib/array/Array<u32>~traverse (; 54 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/util/number/utoa32_lut (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/util/number/utoa32_lut (; 55 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -4656,7 +4603,7 @@
i32.store16 i32.store16
end end
) )
(func $~lib/util/number/itoa32 (; 56 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/number/itoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -4712,7 +4659,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/number/utoa32 (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (func $~lib/util/number/utoa32 (; 52 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -4748,7 +4695,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/number/decimalCount64 (; 58 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/number/decimalCount64 (; 53 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
i64.const 1000000000000000 i64.const 1000000000000000
@ -4817,7 +4764,7 @@
unreachable unreachable
unreachable unreachable
) )
(func $~lib/util/number/utoa64_lut (; 59 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32) (func $~lib/util/number/utoa64_lut (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32) (local $3 i32)
(local $4 i64) (local $4 i64)
(local $5 i32) (local $5 i32)
@ -4945,7 +4892,7 @@
local.get $2 local.get $2
call $~lib/util/number/utoa32_lut call $~lib/util/number/utoa32_lut
) )
(func $~lib/util/number/utoa64 (; 60 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/number/utoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -5013,7 +4960,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/util/number/itoa64 (; 61 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32) (func $~lib/util/number/itoa64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -5103,24 +5050,19 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/builtins/isFinite<f64> (; 62 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (func $~lib/builtins/isFinite<f64> (; 57 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
local.get $0 local.get $0
local.get $0 local.get $0
f64.sub f64.sub
f64.const 0 f64.const 0
f64.eq f64.eq
) )
(func $~lib/builtins/isNaN<f64> (; 63 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (func $~lib/builtins/isNaN<f64> (; 58 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
local.get $0 local.get $0
local.get $0 local.get $0
f64.ne f64.ne
) )
(func $~lib/array/Array<u64>~traverse (; 64 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/array/Array<u64>#__unchecked_get (; 59 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/array/Array<u64>#__unchecked_get (; 65 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
local.get $0 local.get $0
i32.load offset=4 i32.load offset=4
local.get $1 local.get $1
@ -5129,12 +5071,7 @@
i32.add i32.add
i64.load i64.load
) )
(func $~lib/array/Array<i16>~traverse (; 66 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/array/Array<i16>#__unchecked_get (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
call $~lib/collector/dummy/__ref_mark
)
(func $~lib/array/Array<i16>#__unchecked_get (; 67 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0 local.get $0
i32.load offset=4 i32.load offset=4
local.get $1 local.get $1
@ -5143,7 +5080,7 @@
i32.add i32.add
i32.load16_s i32.load16_s
) )
(func $~lib/util/number/genDigits (; 68 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (func $~lib/util/number/genDigits (; 61 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
(local $7 i32) (local $7 i32)
(local $8 i64) (local $8 i64)
(local $9 i64) (local $9 i64)
@ -5714,7 +5651,7 @@
end end
local.get $15 local.get $15
) )
(func $~lib/util/number/prettify (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/util/number/prettify (; 62 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -6047,7 +5984,7 @@
unreachable unreachable
unreachable unreachable
) )
(func $~lib/util/number/dtoa_core (; 70 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) (func $~lib/util/number/dtoa_core (; 63 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
(local $2 i32) (local $2 i32)
(local $3 f64) (local $3 f64)
(local $4 i32) (local $4 i32)
@ -6485,7 +6422,7 @@
local.get $2 local.get $2
i32.add i32.add
) )
(func $~lib/string/String#substring (; 71 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (func $~lib/string/String#substring (; 64 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32) (local $3 i32)
(local $4 i32) (local $4 i32)
(local $5 i32) (local $5 i32)
@ -6603,7 +6540,7 @@
i32.const 1 i32.const 1
call $~lib/runtime/runtime.register call $~lib/runtime/runtime.register
) )
(func $~lib/runtime/runtime.discard (; 72 ;) (type $FUNCSIG$vi) (param $0 i32) (func $~lib/runtime/runtime.discard (; 65 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32) (local $1 i32)
local.get $0 local.get $0
global.get $~lib/memory/HEAP_BASE global.get $~lib/memory/HEAP_BASE
@ -6637,7 +6574,7 @@
local.get $1 local.get $1
call $~lib/memory/memory.free call $~lib/memory/memory.free
) )
(func $~lib/util/number/dtoa (; 73 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) (func $~lib/util/number/dtoa (; 66 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
(local $3 i32) (local $3 i32)
@ -6684,7 +6621,7 @@
call $~lib/runtime/runtime.discard call $~lib/runtime/runtime.discard
local.get $3 local.get $3
) )
(func $start:std/string (; 74 ;) (type $FUNCSIG$v) (func $start:std/string (; 67 ;) (type $FUNCSIG$v)
(local $0 i32) (local $0 i32)
(local $1 i32) (local $1 i32)
(local $2 i32) (local $2 i32)
@ -10118,12 +10055,12 @@
unreachable unreachable
end end
) )
(func $std/string/getString (; 75 ;) (type $FUNCSIG$i) (result i32) (func $std/string/getString (; 68 ;) (type $FUNCSIG$i) (result i32)
global.get $std/string/str global.get $std/string/str
) )
(func $start (; 76 ;) (type $FUNCSIG$v) (func $start (; 69 ;) (type $FUNCSIG$v)
call $start:std/string call $start:std/string
) )
(func $null (; 77 ;) (type $FUNCSIG$v) (func $null (; 70 ;) (type $FUNCSIG$v)
) )
) )

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,25 +1,21 @@
(module (module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(memory $0 1) (memory $0 1)
(data (i32.const 8) "\01\00\00\00\0e") (data (i32.const 8) "\01\00\00\00\0e")
(data (i32.const 24) "w\00a\00s\00i\00.\00t\00s") (data (i32.const 24) "w\00a\00s\00i\00.\00t\00s")
(table $0 2 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $wasi/sig (mut i32) (i32.const 1)) (global $wasi/sig (mut i32) (i32.const 1))
(global $~lib/capabilities i32 (i32.const 2)) (global $~lib/capabilities i32 (i32.const 2))
(export "memory" (memory $0)) (export "memory" (memory $0))
(export "table" (table $0)) (export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 0 ;) (type $FUNCSIG$vi) (param $0 i32) (func $start (; 0 ;) (type $FUNCSIG$v)
nop
)
(func $start (; 1 ;) (type $FUNCSIG$v)
i32.const 9 i32.const 9
global.set $wasi/sig global.set $wasi/sig
) )
(func $null (; 2 ;) (type $FUNCSIG$v) (func $null (; 1 ;) (type $FUNCSIG$v)
nop nop
) )
) )

View File

@ -1,12 +1,11 @@
(module (module
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) (type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func)) (type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1) (memory $0 1)
(data (i32.const 8) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00w\00a\00s\00i\00.\00t\00s\00") (data (i32.const 8) "\01\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00w\00a\00s\00i\00.\00t\00s\00")
(table $0 2 funcref) (table $0 1 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse) (elem (i32.const 0) $null)
(global $wasi/WASM32 i32 (i32.const 1)) (global $wasi/WASM32 i32 (i32.const 1))
(global $wasi/WASM64 i32 (i32.const 2)) (global $wasi/WASM64 i32 (i32.const 2))
(global $~lib/ASC_TARGET i32 (i32.const 0)) (global $~lib/ASC_TARGET i32 (i32.const 0))
@ -17,10 +16,7 @@
(export "table" (table $0)) (export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities)) (export ".capabilities" (global $~lib/capabilities))
(start $start) (start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32) (func $start:wasi (; 1 ;) (type $FUNCSIG$v)
(local $1 i32)
)
(func $start:wasi (; 2 ;) (type $FUNCSIG$v)
i32.const 0 i32.const 0
i32.const 0 i32.const 0
i32.eq i32.eq
@ -544,9 +540,9 @@
i32.const 9 i32.const 9
global.set $wasi/sig global.set $wasi/sig
) )
(func $start (; 3 ;) (type $FUNCSIG$v) (func $start (; 2 ;) (type $FUNCSIG$v)
call $start:wasi call $start:wasi
) )
(func $null (; 4 ;) (type $FUNCSIG$v) (func $null (; 3 ;) (type $FUNCSIG$v)
) )
) )