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();
}
let id = classReference.ensureId(compiler); // involves compile steps
compiler.currentType = Type.u32;
return module.createI32(id);
return module.createI32(classReference.ensureId());
}
case BuiltinSymbols.gc_mark_roots: {
if (
@ -3666,6 +3664,20 @@ export function compileCall(
compiler.currentType = Type.void;
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
@ -4101,20 +4113,112 @@ export function compileMarkRoots(compiler: Compiler): void {
);
}
// TODO
export function compileMarkMembers(compiler: Compiler): void {
var program = compiler.program;
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>();
var current = module.createSwitch(names, "invalid", module.createGetLocal(0, NativeType.I32));
for (let [id, instance] of managedClasses) {
assert(instance.type.isManaged(program));
assert(id == ++lastId);
names.push(instance.internalName);
module.addFunction(BuiltinSymbols.gc_mark_members, ftype, [], module.createBlock(null, [
module.createBlock("invalid", [
current
]),
module.createUnreachable()
]));
let traverseImpl = instance.lookupInSelf("__traverse");
// if a library element, check if it implements a custom traversal function
if (instance.isDeclaredInLibrary && traverseImpl) {
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

View File

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

View File

@ -346,6 +346,8 @@ export class Program extends DiagnosticEmitter {
instancesByName: Map<string,Element> = new Map();
/** Classes backing basic types like `i32`. */
typeClasses: Map<TypeKind,Class> = new Map();
/** Managed classes contained in the program, by id. */
managedClasses: Map<i32,Class> = new Map();
// runtime references
@ -3017,22 +3019,13 @@ export class Class extends TypedElement {
private _id: u32 = 0;
/** Ensures that this class has an id. */
ensureId(compiler: Compiler): i32 {
ensureId(): i32 {
var id = this._id;
if (!id) {
assert(!this.hasDecorator(DecoratorFlags.UNMANAGED));
let program = this.program;
if (program.collectorKind == CollectorKind.TRACING) {
// tracing GC uses the function index of the iteration function as the
// class's id so it can call the id directly, which avoids to generate
// a helper function with a big switch mapping ids to function indexes.
// here: might be called recursively in makeIterate, so reserve the id.
this._id = id = compiler.makeTraverseReserve(this);
compiler.makeTraverse(this, id);
} else {
// counting GC or none just increments without any iterate functions
this._id = id = program.nextClassId++;
}
this._id = id = program.nextClassId++;
program.managedClasses.set(id, this);
}
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 { isArray as builtin_isArray } from "./builtins";
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. */
function ensureCapacity(array: ArrayBufferView, minCapacity: i32, alignLog2: u32): void {
@ -815,11 +816,11 @@ export class Array<T> extends ArrayBufferView {
if (isNullable<T>()) {
if (val) {
__ref_mark(val);
call_direct(__runtime_id<T>(), val);
__gc_mark_members(__runtime_id<T>(), val);
}
} else {
__ref_mark(val);
call_direct(__runtime_id<T>(), val);
__gc_mark_members(__runtime_id<T>(), val);
}
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. */
function step(): void {
var obj: ManagedObject;
switch (state) {
case State.INIT: {
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.INIT: unreachable();
case State.IDLE: {
if (TRACE) trace("itcm~step/IDLE");
__gc_mark_roots();
@ -167,8 +170,7 @@ function step(): void {
if (TRACE) trace("itcm~step/MARK", 1, objToRef(obj));
iter = obj;
obj.color = i32(!white);
// TODO: directize through __gc_mark_members
call_indirect(obj.classId, objToRef(obj)); // CLASS~traverse(ref)
__gc_mark_members(obj.classId, objToRef(obj));
} else {
__gc_mark_roots();
if (TRACE) trace("itcm~step/MARK finish");
@ -220,20 +222,18 @@ function objToRef(obj: ManagedObject): usize {
@global @unsafe
export function __ref_collect(): void {
if (TRACE) trace("itcm.collect");
// begin collecting if not yet collecting
switch (state) {
case State.INIT:
case State.IDLE: step();
}
// finish the cycle
maybeInit();
// finish the current state
while (state != State.IDLE) step();
// perform a full cycle
do step(); while (state != State.IDLE);
}
// @ts-ignore: decorator
@global @unsafe
export function __ref_register(ref: usize): void {
if (TRACE) trace("itcm.register", 1, ref);
step(); // also makes sure it's initialized
maybeInit();
var obj = refToObj(ref);
obj.color = white;
fromSpace.push(obj); // sets gc-reserved header fields
@ -243,6 +243,7 @@ export function __ref_register(ref: usize): void {
@global @unsafe
export function __ref_link(ref: usize, parentRef: usize): void {
if (TRACE) trace("itcm.link", 2, ref, parentRef);
maybeInit();
var parent = refToObj(parentRef);
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
export function __ref_mark(ref: usize): void {
if (TRACE) trace("itcm.mark", 1, ref);
maybeInit();
var obj = refToObj(ref);
if (obj.color == white) obj.makeGray();
}

View File

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

View File

@ -2,6 +2,7 @@
import { HASH } from "./util/hash";
import { __runtime_id } from "./runtime";
import { __gc_mark_members } from "./gc";
// 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 (val) {
__ref_mark(val);
call_direct(__runtime_id<K>(), val);
__gc_mark_members(__runtime_id<K>(), val);
}
} else {
__ref_mark(val);
call_direct(__runtime_id<K>(), val);
__gc_mark_members(__runtime_id<K>(), val);
}
}
if (isManaged<V>()) {
@ -295,11 +296,11 @@ export class Map<K,V> {
if (isNullable<V>()) {
if (val) {
__ref_mark(val);
call_direct(__runtime_id<V>(), val);
__gc_mark_members(__runtime_id<V>(), val);
}
} else {
__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 { __runtime_id } from "./runtime";
import { __gc_mark_members } from "./gc";
// 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 (val) {
__ref_mark(val);
call_direct(__runtime_id<K>(), val);
__gc_mark_members(__runtime_id<K>(), val);
}
} else {
__ref_mark(val);
call_direct(__runtime_id<K>(), val);
__gc_mark_members(__runtime_id<K>(), val);
}
}
cur += ENTRY_SIZE<K>();

View File

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

View File

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

View File

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

View File

@ -1,6 +1,5 @@
(module
(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$fff (func (param f32 f32) (result f32)))
(type $FUNCSIG$v (func))
@ -10,8 +9,8 @@
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00c\00l\00a\00s\00s\00.\00t\00s\00")
(table $0 2 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $class/Animal.ONE (mut i32) (i32.const 1))
(global $~lib/memory/HEAP_BASE i32 (i32.const 40))
(global $~lib/capabilities i32 (i32.const 2))
@ -20,17 +19,14 @@
(export "test" (func $class/test))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $class/Animal.add (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $class/Animal.add (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
i32.add
global.get $class/Animal.ONE
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 $1
f32.sub
@ -38,7 +34,7 @@
f32.convert_i32_s
f32.add
)
(func $start:class (; 4 ;) (type $FUNCSIG$v)
(func $start:class (; 3 ;) (type $FUNCSIG$v)
i32.const 4
i32.const 4
i32.eq
@ -62,14 +58,14 @@
call $class/Animal.sub<f32>
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 $2
i32.add
global.get $class/Animal.ONE
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 $2
f32.sub
@ -77,7 +73,7 @@
f32.convert_i32_s
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 $2 i32)
local.get $0
@ -122,9 +118,9 @@
local.set $2
local.get $2
)
(func $start (; 8 ;) (type $FUNCSIG$v)
(func $start (; 7 ;) (type $FUNCSIG$v)
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$viii (func (param 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$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -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 72) "\01\00\00\00\1e")
(data (i32.const 88) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
(table $0 11 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)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0))
(global $~lib/collector/itcm/state (mut i32) (i32.const 0))
(global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0))
@ -38,10 +38,7 @@
(export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/allocator/tlsf/Root#setSLMap (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1
i32.const 22
i32.ge_u
@ -61,7 +58,7 @@
local.get $2
i32.store offset=4
)
(func $~lib/allocator/tlsf/Root#setHead (; 3 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/allocator/tlsf/Root#setHead (; 2 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 22
i32.ge_u
@ -96,7 +93,7 @@
local.get $3
i32.store offset=96
)
(func $~lib/allocator/tlsf/Block#get:right (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/tlsf/Block#get:right (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const -4
@ -130,7 +127,7 @@
end
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
i32.eqz
if
@ -146,7 +143,7 @@
i32.clz
i32.sub
)
(func $~lib/allocator/tlsf/Root#getHead (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/allocator/tlsf/Root#getHead (; 5 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 22
i32.ge_u
@ -180,7 +177,7 @@
i32.add
i32.load offset=96
)
(func $~lib/allocator/tlsf/Root#getSLMap (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/allocator/tlsf/Root#getSLMap (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
i32.const 22
i32.ge_u
@ -199,7 +196,7 @@
i32.add
i32.load offset=4
)
(func $~lib/allocator/tlsf/Root#remove (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/allocator/tlsf/Root#remove (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -328,7 +325,7 @@
end
end
)
(func $~lib/allocator/tlsf/Block#get:left (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/tlsf/Block#get:left (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load
i32.const 2
@ -358,7 +355,7 @@
end
local.get $0
)
(func $~lib/allocator/tlsf/Root#setJump (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/allocator/tlsf/Root#setJump (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
i32.load
i32.const 1
@ -403,7 +400,7 @@
local.get $0
i32.store
)
(func $~lib/allocator/tlsf/Root#insert (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/allocator/tlsf/Root#insert (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -633,7 +630,7 @@
i32.or
call $~lib/allocator/tlsf/Root#setSLMap
)
(func $~lib/allocator/tlsf/Root#addMemory (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/allocator/tlsf/Root#addMemory (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $1
@ -756,7 +753,7 @@
local.get $1
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
i32.eqz
if
@ -770,7 +767,7 @@
local.get $0
i32.ctz
)
(func $~lib/allocator/tlsf/Root#search (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/allocator/tlsf/Root#search (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $1
@ -882,7 +879,7 @@
end
end
)
(func $~lib/allocator/tlsf/Root#use (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/allocator/tlsf/Root#use (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
local.get $1
@ -993,7 +990,7 @@
i32.const 8
i32.add
)
(func $~lib/allocator/tlsf/__mem_allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/tlsf/__mem_allocate (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -1163,7 +1160,7 @@
local.get $1
call $~lib/allocator/tlsf/Root#use
)
(func $~lib/runtime/runtime.allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const 1
i32.const 32
@ -1190,185 +1187,50 @@
i32.const 16
i32.add
)
(func $~lib/allocator/tlsf/__mem_free (; 18 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
if
global.get $~lib/allocator/tlsf/ROOT
local.tee $1
if
local.get $0
i32.const 8
i32.sub
local.tee $2
i32.load
local.tee $3
i32.const 1
i32.and
if
i32.const 0
i32.const 24
i32.const 518
i32.const 6
call $~lib/env/abort
unreachable
end
local.get $2
local.get $3
i32.const 1
i32.or
i32.store
local.get $1
local.get $0
i32.const 8
i32.sub
call $~lib/allocator/tlsf/Root#insert
end
end
)
(func $~lib/collector/itcm/step (; 19 ;) (type $FUNCSIG$v)
(func $~lib/collector/itcm/maybeInit (; 17 ;) (type $FUNCSIG$v)
(local $0 i32)
block $break|0
block $case3|0
block $case2|0
block $case1|0
global.get $~lib/collector/itcm/state
local.tee $0
if
local.get $0
i32.const 1
i32.sub
br_table $case1|0 $case2|0 $case3|0 $break|0
end
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
global.get $~lib/collector/itcm/state
i32.eqz
if
i32.const 16
call $~lib/allocator/tlsf/__mem_allocate
global.set $~lib/collector/itcm/fromSpace
global.get $~lib/collector/itcm/fromSpace
local.tee $0
i32.const -1
i32.store
local.get $0
i32.const 0
i32.store offset=4
local.get $0
local.get $0
i32.store offset=8
local.get $0
local.get $0
i32.store offset=12
i32.const 16
call $~lib/allocator/tlsf/__mem_allocate
global.set $~lib/collector/itcm/toSpace
global.get $~lib/collector/itcm/toSpace
i32.ne
if
local.get $0
i32.load offset=8
i32.const -4
i32.and
global.set $~lib/collector/itcm/iter
local.get $0
i32.const 120
i32.ge_u
if
local.get $0
call $~lib/allocator/tlsf/__mem_free
end
else
global.get $~lib/collector/itcm/toSpace
local.tee $0
local.get $0
i32.store offset=8
local.get $0
local.get $0
i32.store offset=12
i32.const 1
global.set $~lib/collector/itcm/state
end
local.tee $0
i32.const -1
i32.store
local.get $0
i32.const 0
i32.store offset=4
local.get $0
local.get $0
i32.store offset=8
local.get $0
local.get $0
i32.store offset=12
global.get $~lib/collector/itcm/toSpace
global.set $~lib/collector/itcm/iter
i32.const 1
global.set $~lib/collector/itcm/state
end
)
(func $~lib/collector/itcm/ManagedObjectList#push (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObjectList#push (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $0
i32.load offset=12
@ -1396,8 +1258,8 @@
local.get $1
i32.store offset=12
)
(func $~lib/collector/itcm/__ref_register (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
call $~lib/collector/itcm/step
(func $~lib/collector/itcm/__ref_register (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
call $~lib/collector/itcm/maybeInit
local.get $0
i32.const 16
i32.sub
@ -1413,7 +1275,7 @@
local.get $0
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.get $0
i32.const 120
@ -1450,7 +1312,7 @@
end
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)
block (result i32)
global.get $constructor/b
@ -1473,7 +1335,7 @@
end
local.get $0
)
(func $start:constructor (; 24 ;) (type $FUNCSIG$v)
(func $start:constructor (; 22 ;) (type $FUNCSIG$v)
(local $0 i32)
i32.const 0
call $~lib/runtime/runtime.allocate
@ -1545,128 +1407,10 @@
call $constructor/CtorConditionallyAllocates#constructor
global.set $constructor/ctorConditionallyAllocates
)
(func $start (; 25 ;) (type $FUNCSIG$v)
(func $start (; 23 ;) (type $FUNCSIG$v)
call $start:constructor
)
(func $null (; 26 ;) (type $FUNCSIG$v)
(func $null (; 24 ;) (type $FUNCSIG$v)
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$viii (func (param 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$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00")
(data (i32.const 72) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
(table $0 11 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)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16))
(global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0))
(global $~lib/allocator/tlsf/Root.SL_START i32 (i32.const 4))
@ -72,10 +72,7 @@
local.get $1
i32.store offset=2912
)
(func $~lib/string/String~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/allocator/tlsf/Root#setSLMap (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -96,7 +93,7 @@
local.get $2
i32.store offset=4
)
(func $~lib/allocator/tlsf/Root#setHead (; 5 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/allocator/tlsf/Root#setHead (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -133,11 +130,11 @@
local.get $3
i32.store offset=96
)
(func $~lib/allocator/tlsf/Root#get:tailRef (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/tlsf/Root#get:tailRef (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 0
i32.load offset=2912
)
(func $~lib/allocator/tlsf/Block#get:right (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/tlsf/Block#get:right (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.load
@ -177,7 +174,7 @@
local.get $1
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
i32.const 0
i32.ne
@ -195,7 +192,7 @@
i32.clz
i32.sub
)
(func $~lib/allocator/tlsf/Root#getHead (; 9 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/allocator/tlsf/Root#getHead (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -231,7 +228,7 @@
i32.add
i32.load offset=96
)
(func $~lib/allocator/tlsf/Root#getSLMap (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/allocator/tlsf/Root#getSLMap (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -251,7 +248,7 @@
i32.add
i32.load offset=4
)
(func $~lib/allocator/tlsf/Root#remove (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/allocator/tlsf/Root#remove (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -396,7 +393,7 @@
end
end
)
(func $~lib/allocator/tlsf/Block#get:left (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/tlsf/Block#get:left (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
i32.load
@ -428,7 +425,7 @@
local.get $1
end
)
(func $~lib/allocator/tlsf/Root#setJump (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/allocator/tlsf/Root#setJump (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1
i32.load
global.get $~lib/allocator/tlsf/FREE
@ -474,7 +471,7 @@
local.get $1
i32.store
)
(func $~lib/allocator/tlsf/Root#insert (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/allocator/tlsf/Root#insert (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -740,7 +737,7 @@
i32.or
call $~lib/allocator/tlsf/Root#setSLMap
)
(func $~lib/allocator/tlsf/Root#addMemory (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/allocator/tlsf/Root#addMemory (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -893,7 +890,7 @@
call $~lib/allocator/tlsf/Root#insert
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
i32.const 0
i32.ne
@ -909,7 +906,7 @@
local.get $0
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
i32.const 0
i32.ne
@ -925,7 +922,7 @@
local.get $0
i32.ctz
)
(func $~lib/allocator/tlsf/Root#search (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/allocator/tlsf/Root#search (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1066,7 +1063,7 @@
end
local.get $6
)
(func $~lib/allocator/tlsf/Root#use (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/allocator/tlsf/Root#use (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1194,7 +1191,7 @@
global.get $~lib/allocator/tlsf/Block.INFO
i32.add
)
(func $~lib/allocator/tlsf/__mem_allocate (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/tlsf/__mem_allocate (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -1430,12 +1427,12 @@
local.get $0
call $~lib/allocator/tlsf/Root#use
)
(func $~lib/memory/memory.allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
call $~lib/allocator/tlsf/__mem_allocate
return
)
(func $~lib/runtime/runtime.allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/runtime/runtime.adjust
@ -1457,10 +1454,7 @@
global.get $~lib/util/runtime/HEADER_SIZE
i32.add
)
(func $constructor/EmptyCtor~traverse (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/collector/itcm/ManagedObjectList#clear (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $0
i32.store offset=8
@ -1468,223 +1462,52 @@
local.get $0
i32.store offset=12
)
(func $~lib/collector/itcm/ManagedObject#get:next (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=8
i32.const 3
i32.const -1
i32.xor
i32.and
)
(func $~lib/collector/itcm/ManagedObject#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
(func $~lib/collector/itcm/maybeInit (; 23 ;) (type $FUNCSIG$v)
global.get $~lib/collector/itcm/state
i32.const 0
i32.eq
if
global.get $~lib/allocator/tlsf/ROOT
local.set $1
local.get $1
if
local.get $0
global.get $~lib/allocator/tlsf/Block.INFO
i32.sub
local.set $2
local.get $2
i32.load
local.set $3
local.get $3
global.get $~lib/allocator/tlsf/FREE
i32.and
i32.eqz
i32.eqz
if
i32.const 0
i32.const 24
i32.const 518
i32.const 6
call $~lib/env/abort
unreachable
end
local.get $2
local.get $3
global.get $~lib/allocator/tlsf/FREE
i32.or
i32.store
local.get $1
local.get $0
global.get $~lib/allocator/tlsf/Block.INFO
i32.sub
call $~lib/allocator/tlsf/Root#insert
end
global.get $~lib/util/runtime/HEADER_SIZE
call $~lib/memory/memory.allocate
global.set $~lib/collector/itcm/fromSpace
global.get $~lib/collector/itcm/fromSpace
i32.const -1
i32.store
global.get $~lib/collector/itcm/fromSpace
i32.const 0
i32.store offset=4
global.get $~lib/collector/itcm/fromSpace
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/util/runtime/HEADER_SIZE
call $~lib/memory/memory.allocate
global.set $~lib/collector/itcm/toSpace
global.get $~lib/collector/itcm/toSpace
i32.const -1
i32.store
global.get $~lib/collector/itcm/toSpace
i32.const 0
i32.store offset=4
global.get $~lib/collector/itcm/toSpace
call $~lib/collector/itcm/ManagedObjectList#clear
global.get $~lib/collector/itcm/toSpace
global.set $~lib/collector/itcm/iter
i32.const 1
global.set $~lib/collector/itcm/state
end
)
(func $~lib/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
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)
(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)
(func $~lib/collector/itcm/ManagedObject#set:next (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
local.get $1
local.get $0
@ -1694,7 +1517,7 @@
i32.or
i32.store offset=8
)
(func $~lib/collector/itcm/ManagedObjectList#push (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObjectList#push (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $0
i32.load offset=12
@ -1712,10 +1535,10 @@
local.get $1
i32.store offset=12
)
(func $~lib/collector/itcm/__ref_register (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/collector/itcm/__ref_register (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
call $~lib/collector/itcm/step
call $~lib/collector/itcm/maybeInit
block $~lib/collector/itcm/refToObj|inlined.0 (result i32)
local.get $0
local.set $1
@ -1731,7 +1554,7 @@
local.get $2
call $~lib/collector/itcm/ManagedObjectList#push
)
(func $~lib/runtime/runtime.register (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/runtime/runtime.register (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
global.get $~lib/memory/HEAP_BASE
@ -1769,7 +1592,7 @@
call $~lib/collector/itcm/__ref_register
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
i32.eqz
if
@ -1781,10 +1604,7 @@
end
local.get $0
)
(func $constructor/EmptyCtorWithFieldInit~traverse (; 35 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $constructor/EmptyCtorWithFieldInit#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/EmptyCtorWithFieldInit#constructor (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -1799,10 +1619,7 @@
i32.store
local.get $0
)
(func $constructor/EmptyCtorWithFieldNoInit~traverse (; 37 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $constructor/EmptyCtorWithFieldNoInit#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/EmptyCtorWithFieldNoInit#constructor (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -1817,9 +1634,7 @@
i32.store
local.get $0
)
(func $constructor/None~traverse (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
)
(func $constructor/None#constructor (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/None#constructor (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -1831,10 +1646,7 @@
end
local.get $0
)
(func $constructor/JustFieldInit~traverse (; 41 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $constructor/JustFieldInit#constructor (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/JustFieldInit#constructor (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -1849,10 +1661,7 @@
i32.store
local.get $0
)
(func $constructor/JustFieldNoInit~traverse (; 43 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $constructor/JustFieldNoInit#constructor (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/JustFieldNoInit#constructor (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.eqz
if
@ -1867,14 +1676,11 @@
i32.store
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
call $~lib/memory/memory.allocate
)
(func $constructor/CtorConditionallyReturns~traverse (; 46 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $constructor/CtorConditionallyReturns#constructor (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/CtorConditionallyReturns#constructor (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
global.get $constructor/b
if
i32.const 0
@ -1892,10 +1698,7 @@
end
local.get $0
)
(func $constructor/CtorAllocates~traverse (; 48 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $constructor/CtorAllocates#constructor (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/CtorAllocates#constructor (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32)
local.get $0
i32.eqz
@ -1911,10 +1714,7 @@
drop
local.get $0
)
(func $constructor/CtorConditionallyAllocates~traverse (; 50 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $constructor/CtorConditionallyAllocates#constructor (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $constructor/CtorConditionallyAllocates#constructor (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
global.get $constructor/b
if
block (result i32)
@ -1942,7 +1742,7 @@
end
local.get $0
)
(func $start:constructor (; 52 ;) (type $FUNCSIG$v)
(func $start:constructor (; 39 ;) (type $FUNCSIG$v)
i32.const 0
call $constructor/EmptyCtor#constructor
global.set $constructor/emptyCtor
@ -1974,139 +1774,9 @@
call $constructor/CtorConditionallyAllocates#constructor
global.set $constructor/ctorConditionallyAllocates
)
(func $start (; 53 ;) (type $FUNCSIG$v)
(func $start (; 40 ;) (type $FUNCSIG$v)
call $start:constructor
)
(func $null (; 54 ;) (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
(func $null (; 41 ;) (type $FUNCSIG$v)
)
)

View File

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

View File

@ -1,9 +1,9 @@
(module
(type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
@ -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 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 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 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 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 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 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 6 funcref)
(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)
(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 184) "\02\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00")
(data (i32.const 216) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00")
(data (i32.const 256) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $gc/_dummy/collect_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_count (mut i32) (i32.const 0))
(global $gc/_dummy/register_ref (mut i32) (i32.const 0))
@ -42,7 +41,7 @@
(global $~lib/util/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808))
(global $~lib/gc/ROOT (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/capabilities i32 (i32.const 2))
(export "memory" (memory $0))
@ -178,12 +177,7 @@
global.get $~lib/util/runtime/HEADER_SIZE
i32.add
)
(func $gc/Ref~traverse (; 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)
(func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 72
i32.const 1
local.get $0
@ -200,7 +194,7 @@
local.get $0
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.get $0
global.get $~lib/memory/HEAP_BASE
@ -238,7 +232,7 @@
call $gc/_dummy/__ref_register
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
i32.eqz
if
@ -250,35 +244,7 @@
end
local.get $0
)
(func $gc/_dummy/__ref_mark (; 11 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/memory/memory.fill (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -535,17 +501,14 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 14 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
global.get $~lib/util/runtime/MAX_BYTELENGTH
i32.gt_u
if
i32.const 0
i32.const 176
i32.const 144
i32.const 54
i32.const 43
call $~lib/env/abort
@ -559,11 +522,11 @@
local.get $1
call $~lib/memory/memory.fill
local.get $2
i32.const 5
i32.const 4
call $~lib/runtime/runtime.register
)
(func $gc/_dummy/__ref_link (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 232
(func $gc/_dummy/__ref_link (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 200
i32.const 2
local.get $0
f64.convert_i32_u
@ -582,8 +545,8 @@
local.get $0
global.set $gc/_dummy/link_parentRef
)
(func $gc/_dummy/__ref_unlink (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 264
(func $gc/_dummy/__ref_unlink (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
i32.const 232
i32.const 2
local.get $0
f64.convert_i32_u
@ -602,7 +565,7 @@
local.get $1
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 $2 i32)
(local $3 i32)
@ -671,7 +634,7 @@
i32.const 0
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)
local.get $0
i32.eqz
@ -705,7 +668,7 @@
call $~lib/set/Set<usize>#clear
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)
i32.const -2128831035
local.set $1
@ -747,7 +710,7 @@
local.set $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 $4 i32)
local.get $0
@ -798,7 +761,7 @@
end
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.get $0
local.get $1
@ -813,7 +776,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -983,7 +946,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -1081,7 +1044,7 @@
i32.store
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)
global.get $~lib/gc/ROOT
local.set $1
@ -1098,7 +1061,7 @@
call $gc/_dummy/__ref_link
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 $3 i32)
(local $4 i32)
@ -1171,7 +1134,7 @@
end
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)
global.get $~lib/gc/ROOT
local.set $1
@ -1188,8 +1151,8 @@
call $gc/_dummy/__ref_unlink
end
)
(func $gc/_dummy/__ref_collect (; 28 ;) (type $FUNCSIG$v)
i32.const 304
(func $gc/_dummy/__ref_collect (; 23 ;) (type $FUNCSIG$v)
i32.const 272
i32.const 0
f64.const 0
f64.const 0
@ -1202,10 +1165,10 @@
i32.add
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
)
(func $gc/main (; 30 ;) (type $FUNCSIG$v)
(func $gc/main (; 25 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -1368,7 +1331,7 @@
unreachable
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 $4 i32)
(local $5 i32)
@ -2569,7 +2532,7 @@
i32.store8
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 $4 i32)
(local $5 i32)
@ -2800,14 +2763,14 @@
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
)
(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
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 $3 i32)
(local $4 i32)
@ -2911,7 +2874,7 @@
i32.store offset=4
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.get $0
global.get $~lib/memory/HEAP_BASE
@ -2945,7 +2908,7 @@
local.get $1
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 $5 i32)
(local $6 i32)
@ -2965,7 +2928,7 @@
local.get $2
i32.shl
call $~lib/runtime/runtime.allocate
i32.const 5
i32.const 4
call $~lib/runtime/runtime.register
local.set $6
local.get $4
@ -3009,7 +2972,7 @@
end
local.get $4
)
(func $start (; 38 ;) (type $FUNCSIG$v)
(func $start (; 33 ;) (type $FUNCSIG$v)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
@ -3024,9 +2987,9 @@
call $~lib/set/Set<usize>#constructor
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 $0of1
block $outOfRange
@ -3046,7 +3009,7 @@
local.get $3
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
global.set $~lib/argc
)

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

@ -1,9 +1,9 @@
(module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$v (func))
@ -11,15 +11,15 @@
(memory $0 1)
(data (i32.const 8) "\01\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\01\02")
(data (i32.const 32) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03\00\00\00")
(data (i32.const 64) "\04\00\00\00(\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00")
(data (i32.const 120) "\04\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
(data (i32.const 64) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00")
(data (i32.const 120) "\03\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
(data (i32.const 168) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00")
(data (i32.const 200) "\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 248) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00")
(data (i32.const 280) "\04\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
(table $0 13 funcref)
(elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~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)
(data (i32.const 248) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00")
(data (i32.const 280) "\03\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $std/array-literal/staticArrayI8 i32 (i32.const 48))
(global $std/array-literal/staticArrayI32 i32 (i32.const 216))
(global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264))
@ -39,25 +39,11 @@
(export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/array/Array<i8>#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=12
)
(func $~lib/string/String~traverse (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/array/Array<i8>#__unchecked_get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i8>#__unchecked_get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load offset=4
local.get $1
@ -66,7 +52,7 @@
i32.add
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 $0
i32.load offset=8
@ -76,7 +62,7 @@
if
i32.const 0
i32.const 136
i32.const 99
i32.const 100
i32.const 61
call $~lib/env/abort
unreachable
@ -85,16 +71,11 @@
local.get $1
call $~lib/array/Array<i8>#__unchecked_get
)
(func $~lib/array/Array<i32>~traverse (; 8 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/array/Array<i32>#get:length (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
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
i32.load offset=4
local.get $1
@ -103,7 +84,7 @@
i32.add
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 $0
i32.load offset=8
@ -113,7 +94,7 @@
if
i32.const 0
i32.const 136
i32.const 99
i32.const 100
i32.const 61
call $~lib/env/abort
unreachable
@ -122,7 +103,7 @@
local.get $1
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 32
local.get $0
@ -134,7 +115,7 @@
i32.sub
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 $2 i32)
(local $3 i32)
@ -213,12 +194,12 @@
global.set $~lib/allocator/arena/offset
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
call $~lib/allocator/arena/__mem_allocate
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.get $0
call $~lib/runtime/runtime.adjust
@ -240,10 +221,10 @@
global.get $~lib/util/runtime/HEADER_SIZE
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
)
(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.get $0
global.get $~lib/memory/HEAP_BASE
@ -281,13 +262,13 @@
call $~lib/collector/dummy/__ref_register
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
)
(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
)
(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 $4 i32)
(local $5 i32)
@ -1488,7 +1469,7 @@
i32.store8
end
)
(func $~lib/memory/memory.copy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1719,7 +1700,7 @@
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 $5 i32)
(local $6 i32)
@ -1783,9 +1764,23 @@
end
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
i32.eqz
if
@ -1797,108 +1792,11 @@
end
local.get $0
)
(func $~lib/array/Array<std/array-literal/Ref>~traverse (; 25 ;) (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/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)
(func $~lib/array/Array<std/array-literal/RefWithCtor>#get:length (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=12
)
(func $std/array-literal/RefWithCtor~traverse (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
(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)
(func $start:std/array-literal (; 22 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -2130,7 +2028,7 @@
global.set $std/array-literal/i
block (result i32)
i32.const 3
i32.const 5
i32.const 4
i32.const 2
i32.const 0
call $~lib/runtime/runtime.makeArray
@ -2221,7 +2119,7 @@
end
block (result i32)
i32.const 3
i32.const 8
i32.const 6
i32.const 2
i32.const 0
call $~lib/runtime/runtime.makeArray
@ -2280,7 +2178,7 @@
end
block (result i32)
i32.const 3
i32.const 11
i32.const 8
i32.const 2
i32.const 0
call $~lib/runtime/runtime.makeArray
@ -2338,9 +2236,9 @@
unreachable
end
)
(func $start (; 32 ;) (type $FUNCSIG$v)
(func $start (; 23 ;) (type $FUNCSIG$v)
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
(type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
@ -23,14 +23,14 @@
(type $FUNCSIG$vid (func (param i32 f64)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\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 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 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")
(table $0 23 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)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/capabilities i32 (i32.const 2))
@ -127,18 +127,7 @@
i32.const 16
i32.add
)
(func $~lib/map/Map<i8,i32>~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.const 148
@ -171,7 +160,7 @@
i32.store
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)
block $~lib/util/memory/memset|inlined.0
local.get $1
@ -382,7 +371,7 @@
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.get $0
i32.const 1073741808
@ -401,10 +390,10 @@
local.get $0
call $~lib/memory/memory.fill
local.get $1
i32.const 4
i32.const 3
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)
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
@ -439,7 +428,7 @@
i32.const 0
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)
i32.const 24
call $~lib/runtime/runtime.allocate
@ -467,7 +456,7 @@
call $~lib/map/Map<i8,i32>#clear
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
i32.load
local.get $0
@ -512,7 +501,7 @@
end
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 $1
local.get $1
@ -528,7 +517,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -638,7 +627,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -737,7 +726,7 @@
i32.store
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 $1
local.get $1
@ -758,7 +747,7 @@
unreachable
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.get $0
local.get $1
@ -825,7 +814,7 @@
call $~lib/map/Map<i8,i32>#rehash
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 $1 i32)
call $~lib/map/Map<i8,i32>#constructor
@ -1169,11 +1158,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 5
i32.const 4
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -1197,7 +1186,7 @@
call $~lib/map/Map<i8,i32>#clear
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 $1
local.get $1
@ -1211,7 +1200,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -1321,7 +1310,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -1418,7 +1407,7 @@
i32.store
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 $1
local.get $1
@ -1437,7 +1426,7 @@
unreachable
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.get $0
local.get $1
@ -1502,7 +1491,7 @@
call $~lib/map/Map<u8,i32>#rehash
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 $1 i32)
call $~lib/map/Map<u8,i32>#constructor
@ -1832,11 +1821,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 7
i32.const 5
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -1860,7 +1849,7 @@
call $~lib/map/Map<i8,i32>#clear
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
i32.load
local.get $0
@ -1905,7 +1894,7 @@
end
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 $1
local.get $1
@ -1930,7 +1919,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -2049,7 +2038,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -2157,7 +2146,7 @@
i32.store
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 $1
local.get $1
@ -2187,7 +2176,7 @@
unreachable
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.get $0
local.get $1
@ -2263,7 +2252,7 @@
call $~lib/map/Map<i16,i32>#rehash
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 $1 i32)
call $~lib/map/Map<i16,i32>#constructor
@ -2607,11 +2596,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 9
i32.const 6
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -2635,7 +2624,7 @@
call $~lib/map/Map<i8,i32>#clear
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 $1
local.get $1
@ -2658,7 +2647,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -2777,7 +2766,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -2883,7 +2872,7 @@
i32.store
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 $1
local.get $1
@ -2911,7 +2900,7 @@
unreachable
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.get $0
local.get $1
@ -2985,7 +2974,7 @@
call $~lib/map/Map<u16,i32>#rehash
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 $1 i32)
call $~lib/map/Map<u16,i32>#constructor
@ -3315,11 +3304,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 11
i32.const 7
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -3343,7 +3332,7 @@
call $~lib/map/Map<i8,i32>#clear
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
i32.const 255
i32.and
@ -3374,7 +3363,7 @@
i32.const 16777619
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
i32.load
local.get $0
@ -3417,7 +3406,7 @@
end
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 $1
local.get $1
@ -3426,7 +3415,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -3533,7 +3522,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -3623,7 +3612,7 @@
i32.store
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 $1
local.get $1
@ -3637,7 +3626,7 @@
unreachable
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.get $0
local.get $1
@ -3697,7 +3686,7 @@
call $~lib/map/Map<i32,i32>#rehash
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 $1 i32)
call $~lib/map/Map<i32,i32>#constructor
@ -4013,11 +4002,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 13
i32.const 8
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -4041,7 +4030,7 @@
call $~lib/map/Map<i8,i32>#clear
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 $1 i32)
call $~lib/map/Map<u32,i32>#constructor
@ -4357,7 +4346,7 @@
unreachable
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)
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
@ -4392,11 +4381,11 @@
i32.const 0
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 15
i32.const 9
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -4420,7 +4409,7 @@
call $~lib/map/Map<i64,i32>#clear
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.get $0
i32.wrap_i64
@ -4486,7 +4475,7 @@
i32.const 16777619
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
i32.load
local.get $0
@ -4529,7 +4518,7 @@
end
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 $1
local.get $1
@ -4538,7 +4527,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -4645,7 +4634,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -4735,7 +4724,7 @@
i32.store
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 $1
local.get $1
@ -4749,7 +4738,7 @@
unreachable
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 $3 i32)
local.get $0
@ -4810,7 +4799,7 @@
call $~lib/map/Map<i64,i32>#rehash
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 $1 i32)
call $~lib/map/Map<i64,i32>#constructor
@ -5133,11 +5122,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 17
i32.const 10
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -5161,7 +5150,7 @@
call $~lib/map/Map<i64,i32>#clear
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 $1 i32)
call $~lib/map/Map<u64,i32>#constructor
@ -5484,11 +5473,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 19
i32.const 11
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -5512,7 +5501,7 @@
call $~lib/map/Map<i8,i32>#clear
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
i32.load
local.get $0
@ -5555,7 +5544,7 @@
end
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 $1
local.get $1
@ -5565,7 +5554,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -5673,7 +5662,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -5764,7 +5753,7 @@
i32.store
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 $1
local.get $1
@ -5779,7 +5768,7 @@
unreachable
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 $3 i32)
local.get $0
@ -5841,7 +5830,7 @@
call $~lib/map/Map<f32,i32>#rehash
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 $1 i32)
call $~lib/map/Map<f32,i32>#constructor
@ -6164,11 +6153,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 21
i32.const 12
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -6192,7 +6181,7 @@
call $~lib/map/Map<i64,i32>#clear
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
i32.load
local.get $0
@ -6235,7 +6224,7 @@
end
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 $1
local.get $1
@ -6245,7 +6234,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -6353,7 +6342,7 @@
i32.load offset=20
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 $4 i32)
(local $5 i32)
@ -6444,7 +6433,7 @@
i32.store
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 $1
local.get $1
@ -6459,7 +6448,7 @@
unreachable
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 $3 i32)
local.get $0
@ -6521,7 +6510,7 @@
call $~lib/map/Map<f64,i32>#rehash
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 $1 i32)
call $~lib/map/Map<f64,i32>#constructor
@ -6844,7 +6833,7 @@
unreachable
end
)
(func $start (; 78 ;) (type $FUNCSIG$v)
(func $start (; 76 ;) (type $FUNCSIG$v)
i32.const 152
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
@ -6860,7 +6849,7 @@
call $std/map/testNumeric<f32,i32>
call $std/map/testNumeric<f64,i32>
)
(func $null (; 79 ;) (type $FUNCSIG$v)
(func $null (; 77 ;) (type $FUNCSIG$v)
nop
)
)

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
(module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(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 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")
(table $0 4 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse $std/object-literal/Foo~traverse $~lib/string/String~traverse)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/capabilities i32 (i32.const 2))
@ -21,10 +21,7 @@
(export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -86,7 +83,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const 1
i32.const 32
@ -113,12 +110,7 @@
i32.const 16
i32.add
)
(func $std/object-literal/Foo~traverse (; 4 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.const 156
@ -151,7 +143,7 @@
i32.store
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 $3 i32)
i32.const 24
@ -187,7 +179,7 @@
end
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.get $0
i32.const 24
@ -230,7 +222,7 @@
call $~lib/util/string/compareImpl
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
i32.load
i32.const 1
@ -256,7 +248,7 @@
unreachable
end
)
(func $start:std/object-literal (; 9 ;) (type $FUNCSIG$v)
(func $start:std/object-literal (; 7 ;) (type $FUNCSIG$v)
(local $0 i32)
i32.const 160
global.set $~lib/allocator/arena/startOffset
@ -313,10 +305,10 @@
unreachable
end
)
(func $start (; 10 ;) (type $FUNCSIG$v)
(func $start (; 8 ;) (type $FUNCSIG$v)
call $start:std/object-literal
)
(func $null (; 11 ;) (type $FUNCSIG$v)
(func $null (; 9 ;) (type $FUNCSIG$v)
nop
)
)

View File

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

View File

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

View File

@ -1,5 +1,4 @@
(module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(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$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64)))
@ -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 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")
(table $0 4 funcref)
(elem (i32.const 0) $null $std/runtime/A~traverse $std/runtime/B~traverse $~lib/string/String~traverse)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $std/runtime/register_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))
@ -60,14 +60,7 @@
(export "table" (table $0))
(export "main" (func $std/runtime/main))
(export ".capabilities" (global $~lib/capabilities))
(func $std/runtime/A~traverse (; 2 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/runtime/runtime.adjust (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 1
i32.const 32
local.get $0
@ -79,7 +72,7 @@
i32.sub
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.get $0
i32.const 0
@ -97,12 +90,12 @@
local.get $1
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
local.get $1
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
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -123,7 +116,7 @@
local.get $2
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
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -160,11 +153,11 @@
local.get $3
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.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.get $0
i32.load
@ -204,7 +197,7 @@
local.get $1
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
i32.const 0
i32.ne
@ -222,7 +215,7 @@
i32.clz
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
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -258,7 +251,7 @@
i32.add
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
global.get $~lib/allocator/tlsf/FL_BITS
i32.lt_u
@ -278,7 +271,7 @@
i32.add
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 $3 i32)
(local $4 i32)
@ -423,7 +416,7 @@
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.get $0
i32.load
@ -455,7 +448,7 @@
local.get $1
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
i32.load
global.get $~lib/allocator/tlsf/FREE
@ -501,7 +494,7 @@
local.get $1
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 $3 i32)
(local $4 i32)
@ -767,7 +760,7 @@
i32.or
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 $4 i32)
(local $5 i32)
@ -920,7 +913,7 @@
call $~lib/allocator/tlsf/Root#insert
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
i32.const 0
i32.ne
@ -936,7 +929,7 @@
local.get $0
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
i32.const 0
i32.ne
@ -952,7 +945,7 @@
local.get $0
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 $3 i32)
(local $4 i32)
@ -1093,7 +1086,7 @@
end
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 $4 i32)
(local $5 i32)
@ -1221,7 +1214,7 @@
global.get $~lib/allocator/tlsf/Block.INFO
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 $2 i32)
(local $3 i32)
@ -1457,12 +1450,12 @@
local.get $0
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
call $~lib/allocator/tlsf/__mem_allocate
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.get $0
call $~lib/runtime/runtime.adjust
@ -1484,7 +1477,7 @@
global.get $~lib/util/runtime/HEADER_SIZE
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 $4 i32)
(local $5 i32)
@ -2685,7 +2678,7 @@
i32.store8
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 $4 i32)
(local $5 i32)
@ -2916,7 +2909,7 @@
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 $4 i32)
(local $5 i32)
@ -3173,7 +3166,7 @@
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 $2 i32)
(local $3 i32)
@ -3216,15 +3209,15 @@
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
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
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 $3 i32)
(local $4 i32)
@ -3328,7 +3321,7 @@
i32.store offset=4
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.get $0
global.get $~lib/memory/HEAP_BASE
@ -3362,7 +3355,7 @@
local.get $1
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.get $0
global.get $~lib/memory/HEAP_BASE
@ -3400,13 +3393,13 @@
call $std/runtime/__ref_register
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
global.get $~lib/util/runtime/HEADER_SIZE
i32.sub
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
global.get $~lib/util/runtime/HEADER_SIZE
i32.sub
@ -3414,7 +3407,7 @@
i32.const 1
i32.shr_u
)
(func $start:std/runtime (; 38 ;) (type $FUNCSIG$v)
(func $start:std/runtime (; 35 ;) (type $FUNCSIG$v)
(local $0 i32)
i32.const 1
i32.const 2
@ -3734,7 +3727,7 @@
unreachable
end
)
(func $std/runtime/main (; 39 ;) (type $FUNCSIG$v)
(func $std/runtime/main (; 36 ;) (type $FUNCSIG$v)
global.get $~lib/started
i32.eqz
if
@ -3743,9 +3736,9 @@
global.set $~lib/started
end
)
(func $start (; 40 ;) (type $FUNCSIG$v)
(func $start (; 37 ;) (type $FUNCSIG$v)
call $start:std/runtime
)
(func $null (; 41 ;) (type $FUNCSIG$v)
(func $null (; 38 ;) (type $FUNCSIG$v)
)
)

View File

@ -1,9 +1,9 @@
(module
(type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iij (func (param i32 i64) (result i32)))
@ -19,14 +19,14 @@
(type $FUNCSIG$i (func (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\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 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 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")
(table $0 23 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)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/capabilities i32 (i32.const 2))
@ -123,18 +123,7 @@
i32.const 16
i32.add
)
(func $~lib/set/Set<i8>~traverse (; 3 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/runtime/runtime.register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
i32.const 148
@ -167,7 +156,7 @@
i32.store
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)
block $~lib/util/memory/memset|inlined.0
local.get $1
@ -378,7 +367,7 @@
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.get $0
i32.const 1073741808
@ -397,10 +386,10 @@
local.get $0
call $~lib/memory/memory.fill
local.get $1
i32.const 4
i32.const 3
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)
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
@ -435,7 +424,7 @@
i32.const 0
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)
i32.const 24
call $~lib/runtime/runtime.allocate
@ -463,7 +452,7 @@
call $~lib/set/Set<i8>#clear
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
i32.load
local.get $0
@ -508,7 +497,7 @@
end
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 $1
local.get $1
@ -524,7 +513,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -630,7 +619,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -722,7 +711,7 @@
i32.store
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.get $0
local.get $1
@ -789,7 +778,7 @@
call $~lib/set/Set<i8>#rehash
end
)
(func $std/set/testNumeric<i8> (; 15 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<i8> (; 13 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
call $~lib/set/Set<i8>#constructor
@ -1034,11 +1023,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 5
i32.const 4
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -1062,7 +1051,7 @@
call $~lib/set/Set<i8>#clear
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 $1
local.get $1
@ -1076,7 +1065,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -1182,7 +1171,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -1272,7 +1261,7 @@
i32.store
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.get $0
local.get $1
@ -1337,7 +1326,7 @@
call $~lib/set/Set<u8>#rehash
end
)
(func $std/set/testNumeric<u8> (; 21 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<u8> (; 19 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
call $~lib/set/Set<u8>#constructor
@ -1582,11 +1571,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 7
i32.const 5
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -1610,7 +1599,7 @@
call $~lib/set/Set<i8>#clear
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
i32.load
local.get $0
@ -1655,7 +1644,7 @@
end
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 $1
local.get $1
@ -1680,7 +1669,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -1795,7 +1784,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -1896,7 +1885,7 @@
i32.store
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.get $0
local.get $1
@ -1972,7 +1961,7 @@
call $~lib/set/Set<i16>#rehash
end
)
(func $std/set/testNumeric<i16> (; 28 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<i16> (; 26 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
call $~lib/set/Set<i16>#constructor
@ -2217,11 +2206,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 9
i32.const 6
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -2245,7 +2234,7 @@
call $~lib/set/Set<i8>#clear
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 $1
local.get $1
@ -2268,7 +2257,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -2383,7 +2372,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -2482,7 +2471,7 @@
i32.store
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.get $0
local.get $1
@ -2556,7 +2545,7 @@
call $~lib/set/Set<u16>#rehash
end
)
(func $std/set/testNumeric<u16> (; 34 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<u16> (; 32 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
call $~lib/set/Set<u16>#constructor
@ -2801,11 +2790,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 11
i32.const 7
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -2829,7 +2818,7 @@
call $~lib/set/Set<i8>#clear
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
i32.const 255
i32.and
@ -2860,7 +2849,7 @@
i32.const 16777619
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
i32.load
local.get $0
@ -2903,7 +2892,7 @@
end
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 $1
local.get $1
@ -2912,7 +2901,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -3015,7 +3004,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -3098,7 +3087,7 @@
i32.store
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.get $0
local.get $1
@ -3158,7 +3147,7 @@
call $~lib/set/Set<i32>#rehash
end
)
(func $std/set/testNumeric<i32> (; 42 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<i32> (; 40 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
call $~lib/set/Set<i32>#constructor
@ -3403,11 +3392,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 13
i32.const 8
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -3431,7 +3420,7 @@
call $~lib/set/Set<i8>#clear
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 $1 i32)
call $~lib/set/Set<u32>#constructor
@ -3676,7 +3665,7 @@
unreachable
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)
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
@ -3711,11 +3700,11 @@
i32.const 0
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 15
i32.const 9
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -3739,7 +3728,7 @@
call $~lib/set/Set<i64>#clear
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.get $0
i32.wrap_i64
@ -3805,7 +3794,7 @@
i32.const 16777619
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
i32.load
local.get $0
@ -3848,7 +3837,7 @@
end
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 $1
local.get $1
@ -3857,7 +3846,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -3960,7 +3949,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -4043,7 +4032,7 @@
i32.store
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 $3 i32)
local.get $0
@ -4104,7 +4093,7 @@
call $~lib/set/Set<i64>#rehash
end
)
(func $std/set/testNumeric<i64> (; 53 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<i64> (; 51 ;) (type $FUNCSIG$v)
(local $0 i64)
(local $1 i32)
call $~lib/set/Set<i64>#constructor
@ -4349,11 +4338,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 17
i32.const 10
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -4377,7 +4366,7 @@
call $~lib/set/Set<i64>#clear
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 $1 i32)
call $~lib/set/Set<u64>#constructor
@ -4622,11 +4611,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 19
i32.const 11
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -4650,7 +4639,7 @@
call $~lib/set/Set<i8>#clear
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
i32.load
local.get $0
@ -4693,7 +4682,7 @@
end
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 $1
local.get $1
@ -4703,7 +4692,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -4807,7 +4796,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -4891,7 +4880,7 @@
i32.store
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 $3 i32)
local.get $0
@ -4953,7 +4942,7 @@
call $~lib/set/Set<f32>#rehash
end
)
(func $std/set/testNumeric<f32> (; 62 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<f32> (; 60 ;) (type $FUNCSIG$v)
(local $0 f32)
(local $1 i32)
call $~lib/set/Set<f32>#constructor
@ -5198,11 +5187,11 @@
unreachable
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)
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 21
i32.const 12
call $~lib/runtime/runtime.register
local.tee $0
i32.const 0
@ -5226,7 +5215,7 @@
call $~lib/set/Set<i64>#clear
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
i32.load
local.get $0
@ -5269,7 +5258,7 @@
end
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 $1
local.get $1
@ -5279,7 +5268,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -5383,7 +5372,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -5467,7 +5456,7 @@
i32.store
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 $3 i32)
local.get $0
@ -5529,7 +5518,7 @@
call $~lib/set/Set<f64>#rehash
end
)
(func $std/set/testNumeric<f64> (; 69 ;) (type $FUNCSIG$v)
(func $std/set/testNumeric<f64> (; 67 ;) (type $FUNCSIG$v)
(local $0 f64)
(local $1 i32)
call $~lib/set/Set<f64>#constructor
@ -5774,7 +5763,7 @@
unreachable
end
)
(func $start (; 70 ;) (type $FUNCSIG$v)
(func $start (; 68 ;) (type $FUNCSIG$v)
i32.const 152
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
@ -5790,7 +5779,7 @@
call $std/set/testNumeric<f32>
call $std/set/testNumeric<f64>
)
(func $null (; 71 ;) (type $FUNCSIG$v)
(func $null (; 69 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -1,9 +1,9 @@
(module
(type $FUNCSIG$v (func))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
@ -19,11 +19,11 @@
(type $FUNCSIG$vid (func (param i32 f64)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\03\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
(data (i32.const 56) "\03\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
(data (i32.const 112) "\03\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00")
(table $0 23 funcref)
(elem (i32.const 0) $null $~lib/set/Set<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)
(data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
(data (i32.const 56) "\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
(data (i32.const 112) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16))
(global $~lib/allocator/arena/startOffset (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
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
)
(func $~lib/set/Set<i8>~traverse (; 6 ;) (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/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)
(func $~lib/runtime/runtime.register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
global.get $~lib/memory/HEAP_BASE
@ -212,7 +195,7 @@
call $~lib/collector/dummy/__ref_register
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 $4 i32)
(local $5 i32)
@ -469,10 +452,7 @@
end
end
)
(func $~lib/arraybuffer/ArrayBuffer~traverse (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
global.get $~lib/util/runtime/MAX_BYTELENGTH
@ -493,16 +473,16 @@
local.get $1
call $~lib/memory/memory.fill
local.get $2
i32.const 4
i32.const 3
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
)
(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
)
(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 $2 i32)
(local $3 i32)
@ -571,7 +551,7 @@
i32.const 0
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)
local.get $0
i32.eqz
@ -605,14 +585,14 @@
call $~lib/set/Set<i8>#clear
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
local.get $0
i32.xor
i32.const 16777619
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 $4 i32)
local.get $0
@ -667,7 +647,7 @@
end
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.get $0
local.get $1
@ -686,7 +666,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -856,7 +836,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -958,11 +938,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -1039,7 +1019,7 @@
end
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 $1 i32)
i32.const 0
@ -1322,18 +1302,7 @@
unreachable
end
)
(func $~lib/set/Set<u8>~traverse (; 25 ;) (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)
(func $~lib/set/Set<u8>#clear (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -1402,14 +1371,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 5
i32.const 4
call $~lib/runtime/runtime.register
local.set $0
end
@ -1436,7 +1405,7 @@
call $~lib/set/Set<u8>#clear
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 $4 i32)
local.get $0
@ -1489,7 +1458,7 @@
end
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.get $0
local.get $1
@ -1506,7 +1475,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -1676,7 +1645,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -1776,11 +1745,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -1855,7 +1824,7 @@
end
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 $1 i32)
i32.const 0
@ -2138,18 +2107,7 @@
unreachable
end
)
(func $~lib/set/Set<i16>~traverse (; 35 ;) (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)
(func $~lib/set/Set<i16>#clear (; 30 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -2218,14 +2176,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 7
i32.const 5
call $~lib/runtime/runtime.register
local.set $0
end
@ -2252,7 +2210,7 @@
call $~lib/set/Set<i16>#clear
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)
i32.const -2128831035
local.set $1
@ -2274,7 +2232,7 @@
local.set $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 $4 i32)
local.get $0
@ -2329,7 +2287,7 @@
end
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.get $0
local.get $1
@ -2348,7 +2306,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -2518,7 +2476,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -2620,11 +2578,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -2701,7 +2659,7 @@
end
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 $1 i32)
i32.const 0
@ -2984,18 +2942,7 @@
unreachable
end
)
(func $~lib/set/Set<u16>~traverse (; 46 ;) (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)
(func $~lib/set/Set<u16>#clear (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -3064,14 +3011,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 9
i32.const 6
call $~lib/runtime/runtime.register
local.set $0
end
@ -3098,7 +3045,7 @@
call $~lib/set/Set<u16>#clear
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 $4 i32)
local.get $0
@ -3151,7 +3098,7 @@
end
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.get $0
local.get $1
@ -3168,7 +3115,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -3338,7 +3285,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -3438,11 +3385,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -3517,7 +3464,7 @@
end
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 $1 i32)
i32.const 0
@ -3800,18 +3747,7 @@
unreachable
end
)
(func $~lib/set/Set<i32>~traverse (; 56 ;) (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)
(func $~lib/set/Set<i32>#clear (; 49 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -3880,14 +3816,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 11
i32.const 7
call $~lib/runtime/runtime.register
local.set $0
end
@ -3914,7 +3850,7 @@
call $~lib/set/Set<i32>#clear
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)
i32.const -2128831035
local.set $1
@ -3956,7 +3892,7 @@
local.set $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 $4 i32)
local.get $0
@ -4007,7 +3943,7 @@
end
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.get $0
local.get $1
@ -4022,7 +3958,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -4192,7 +4128,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -4290,11 +4226,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -4367,7 +4303,7 @@
end
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 $1 i32)
i32.const 0
@ -4650,18 +4586,7 @@
unreachable
end
)
(func $~lib/set/Set<u32>~traverse (; 67 ;) (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)
(func $~lib/set/Set<u32>#clear (; 59 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4730,14 +4655,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 13
i32.const 8
call $~lib/runtime/runtime.register
local.set $0
end
@ -4764,7 +4689,7 @@
call $~lib/set/Set<u32>#clear
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 $4 i32)
local.get $0
@ -4815,7 +4740,7 @@
end
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.get $0
local.get $1
@ -4830,7 +4755,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -5000,7 +4925,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -5098,11 +5023,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -5175,7 +5100,7 @@
end
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 $1 i32)
i32.const 0
@ -5458,18 +5383,7 @@
unreachable
end
)
(func $~lib/set/Set<i64>~traverse (; 77 ;) (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)
(func $~lib/set/Set<i64>#clear (; 68 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -5538,14 +5452,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 15
i32.const 9
call $~lib/runtime/runtime.register
local.set $0
end
@ -5572,7 +5486,7 @@
call $~lib/set/Set<i64>#clear
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 $2 i32)
(local $3 i32)
@ -5660,7 +5574,7 @@
local.set $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 $4 i32)
local.get $0
@ -5711,7 +5625,7 @@
end
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.get $0
local.get $1
@ -5726,7 +5640,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -5897,7 +5811,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -5996,11 +5910,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -6074,7 +5988,7 @@
end
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 $1 i64)
i32.const 0
@ -6357,18 +6271,7 @@
unreachable
end
)
(func $~lib/set/Set<u64>~traverse (; 88 ;) (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)
(func $~lib/set/Set<u64>#clear (; 78 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -6437,14 +6340,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 17
i32.const 10
call $~lib/runtime/runtime.register
local.set $0
end
@ -6471,7 +6374,7 @@
call $~lib/set/Set<u64>#clear
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 $4 i32)
local.get $0
@ -6522,7 +6425,7 @@
end
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.get $0
local.get $1
@ -6537,7 +6440,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -6708,7 +6611,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -6807,11 +6710,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -6885,7 +6788,7 @@
end
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 $1 i64)
i32.const 0
@ -7168,18 +7071,7 @@
unreachable
end
)
(func $~lib/set/Set<f32>~traverse (; 98 ;) (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)
(func $~lib/set/Set<f32>#clear (; 87 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -7248,14 +7140,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 19
i32.const 11
call $~lib/runtime/runtime.register
local.set $0
end
@ -7282,7 +7174,7 @@
call $~lib/set/Set<f32>#clear
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 $4 i32)
local.get $0
@ -7333,7 +7225,7 @@
end
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.get $0
local.get $1
@ -7349,7 +7241,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -7521,7 +7413,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -7621,11 +7513,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -7700,7 +7592,7 @@
end
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 $1 f32)
i32.const 0
@ -7983,18 +7875,7 @@
unreachable
end
)
(func $~lib/set/Set<f64>~traverse (; 108 ;) (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)
(func $~lib/set/Set<f64>#clear (; 96 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -8063,14 +7944,14 @@
i32.const 0
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)
local.get $0
i32.eqz
if
i32.const 24
call $~lib/runtime/runtime.allocate
i32.const 21
i32.const 12
call $~lib/runtime/runtime.register
local.set $0
end
@ -8097,7 +7978,7 @@
call $~lib/set/Set<f64>#clear
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 $4 i32)
local.get $0
@ -8148,7 +8029,7 @@
end
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.get $0
local.get $1
@ -8164,7 +8045,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -8336,7 +8217,7 @@
i32.load offset=20
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 $3 i32)
(local $4 i32)
@ -8436,11 +8317,11 @@
i32.store
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
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 $3 i32)
(local $4 i32)
@ -8515,7 +8396,7 @@
end
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 $1 f64)
i32.const 0
@ -8798,7 +8679,7 @@
unreachable
end
)
(func $start:std/set (; 118 ;) (type $FUNCSIG$v)
(func $start:std/set (; 105 ;) (type $FUNCSIG$v)
global.get $~lib/memory/HEAP_BASE
i32.const 7
i32.add
@ -8820,9 +8701,9 @@
call $std/set/testNumeric<f32>
call $std/set/testNumeric<f64>
)
(func $start (; 119 ;) (type $FUNCSIG$v)
(func $start (; 106 ;) (type $FUNCSIG$v)
call $start:std/set
)
(func $null (; 120 ;) (type $FUNCSIG$v)
(func $null (; 107 ;) (type $FUNCSIG$v)
)
)

View File

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

View File

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

View File

@ -1,8 +1,8 @@
(module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$di (func (param i32) (result f64)))
@ -161,9 +161,9 @@
(data (i32.const 2128) ",\00a\00,\00b\00,\00c")
(data (i32.const 2144) "\01\00\00\00\0c")
(data (i32.const 2160) "a\00,\00b\00,\00c\00,")
(data (i32.const 2176) "\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 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 2624) "\01\00\00\00\02")
(data (i32.const 2640) "8")
@ -233,17 +233,17 @@
(data (i32.const 3880) "-\00I\00n\00f\00i\00n\00i\00t\00y")
(data (i32.const 3904) "\01\00\00\00\10")
(data (i32.const 3920) "I\00n\00f\00i\00n\00i\00t\00y")
(data (i32.const 3936) "\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 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 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 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 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 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 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")
@ -325,8 +325,8 @@
(data (i32.const 6680) "1\00.\001\00e\00-\006\004")
(data (i32.const 6696) "\01\00\00\00\16")
(data (i32.const 6712) "0\00.\000\000\000\000\003\005\006\008\009")
(table $0 11 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)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $std/string/str (mut i32) (i32.const 24))
(global $std/string/nullStr (mut i32) (i32.const 0))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
@ -347,10 +347,7 @@
(export "getString" (func $std/string/getString))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -412,7 +409,7 @@
global.set $~lib/allocator/arena/offset
local.get $1
)
(func $~lib/runtime/runtime.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/runtime/runtime.allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const 1
i32.const 32
@ -439,7 +436,7 @@
i32.const 16
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.get $0
i32.const 6736
@ -472,7 +469,7 @@
i32.store
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)
i32.const 2
call $~lib/runtime/runtime.allocate
@ -483,7 +480,7 @@
i32.const 1
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.get $1
i32.const 1
@ -522,7 +519,7 @@
end
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.get $0
local.get $1
@ -569,7 +566,7 @@
call $~lib/util/string/compareImpl
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 $2 i32)
local.get $0
@ -624,7 +621,7 @@
i32.const 1
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 $2 i32)
(local $3 i32)
@ -672,7 +669,7 @@
call $~lib/util/string/compareImpl
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 $2 i32)
(local $3 i32)
@ -720,7 +717,7 @@
call $~lib/util/string/compareImpl
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 $4 i32)
(local $5 i32)
@ -804,7 +801,7 @@
end
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 $4 i32)
(local $5 i32)
@ -1651,7 +1648,7 @@
i32.store8
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 $4 i32)
block $~lib/util/memory/memmove|inlined.0
@ -1845,7 +1842,7 @@
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.get $2
local.get $3
@ -1870,7 +1867,7 @@
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 $4 i32)
(local $5 i32)
@ -1966,7 +1963,7 @@
i32.const 1
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 $4 i32)
(local $5 i32)
@ -2063,7 +2060,7 @@
i32.const 1
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 $4 i32)
local.get $0
@ -2146,7 +2143,7 @@
end
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 $2 i32)
(local $3 i32)
@ -2382,7 +2379,7 @@
local.get $5
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 $2 i32)
(local $3 f64)
@ -2552,7 +2549,7 @@
local.get $3
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 $3 i32)
(local $4 i32)
@ -2601,7 +2598,7 @@
i32.const 1
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
i32.const 352
local.get $0
@ -2609,13 +2606,13 @@
local.get $1
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 $1
call $~lib/string/String.__eq
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 $3 i32)
block (result i32)
@ -2680,7 +2677,7 @@
i32.const 0
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 $3 i32)
block (result i32)
@ -2745,19 +2742,19 @@
i32.const 0
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 $1
call $~lib/string/String.__lt
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
local.get $0
call $~lib/string/String.__gt
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 $3 i32)
local.get $0
@ -2837,7 +2834,7 @@
i32.const 1
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.get $0
i32.const 16
@ -2915,35 +2912,7 @@
i32.const 1
call $~lib/runtime/runtime.register
)
(func $~lib/array/Array<~lib/string/String>~traverse (; 29 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/runtime/runtime.makeArray (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2957,7 +2926,7 @@
i32.shl
local.tee $2
call $~lib/runtime/runtime.allocate
i32.const 4
i32.const 3
call $~lib/runtime/runtime.register
local.tee $3
local.set $4
@ -2978,7 +2947,7 @@
i32.store offset=12
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)
block $~lib/util/memory/memset|inlined.0
local.get $1
@ -3189,7 +3158,7 @@
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 $3 i32)
(local $4 i32)
@ -3291,7 +3260,7 @@
i32.store offset=4
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 $3 i32)
local.get $1
@ -3307,7 +3276,7 @@
if
i32.const 0
i32.const 1912
i32.const 14
i32.const 15
i32.const 64
call $~lib/env/abort
unreachable
@ -3340,7 +3309,7 @@
i32.store offset=8
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 $3 i32)
local.get $0
@ -3370,7 +3339,7 @@
local.get $3
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 $4 i32)
(local $5 i32)
@ -3621,7 +3590,7 @@
end
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 $0
i32.load offset=12
@ -3629,7 +3598,7 @@
if
i32.const 0
i32.const 1912
i32.const 96
i32.const 97
i32.const 45
call $~lib/env/abort
unreachable
@ -3643,7 +3612,7 @@
if
i32.const 0
i32.const 1912
i32.const 99
i32.const 100
i32.const 61
call $~lib/env/abort
unreachable
@ -3656,7 +3625,7 @@
i32.add
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
i32.const 100000
i32.lt_u
@ -3710,12 +3679,7 @@
end
end
)
(func $~lib/array/Array<u32>~traverse (; 38 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/util/number/utoa32_lut (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
i32.const 2612
@ -3825,7 +3789,7 @@
i32.store16
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 $2 i32)
(local $3 i32)
@ -3867,7 +3831,7 @@
i32.const 1
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 $2 i32)
local.get $0
@ -3890,7 +3854,7 @@
i32.const 1
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
i64.const 1000000000000000
i64.lt_u
@ -3944,7 +3908,7 @@
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 $4 i32)
(local $5 i32)
@ -4041,7 +4005,7 @@
local.get $2
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 $2 i32)
(local $3 i32)
@ -4083,7 +4047,7 @@
i32.const 1
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 $2 i32)
(local $3 i32)
@ -4148,7 +4112,7 @@
i32.const 1
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 $8 i32)
(local $9 i64)
@ -4563,7 +4527,7 @@
local.get $6
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 $4 i32)
local.get $2
@ -4822,7 +4786,7 @@
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 $3 i32)
(local $4 i64)
@ -5110,7 +5074,7 @@
local.get $10
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 $3 i32)
(local $4 i32)
@ -5206,7 +5170,7 @@
i32.const 1
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
i32.const 6736
i32.le_u
@ -5233,7 +5197,7 @@
unreachable
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 $2 i32)
local.get $0
@ -5278,7 +5242,7 @@
call $~lib/runtime/runtime.discard
local.get $1
)
(func $start:std/string (; 52 ;) (type $FUNCSIG$v)
(func $start:std/string (; 49 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $std/string/str
i32.const 24
@ -8649,13 +8613,13 @@
unreachable
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
)
(func $start (; 54 ;) (type $FUNCSIG$v)
(func $start (; 51 ;) (type $FUNCSIG$v)
call $start:std/string
)
(func $null (; 55 ;) (type $FUNCSIG$v)
(func $null (; 52 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -1,8 +1,8 @@
(module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result 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 2112) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00,\00a\00,\00b\00,\00c\00")
(data (i32.const 2144) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00c\00,\00")
(data (i32.const 2176) "\04\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00")
(data (i32.const 2592) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00")
(data (i32.const 2176) "\03\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00")
(data (i32.const 2592) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00")
(data (i32.const 2624) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\008\00")
(data (i32.const 2648) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\000\000\000\00")
(data (i32.const 2680) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\002\003\004\00")
@ -129,12 +129,12 @@
(data (i32.const 3840) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00")
(data (i32.const 3864) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00")
(data (i32.const 3904) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00")
(data (i32.const 3936) "\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 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 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 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 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 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 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) "\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) "\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) "\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) "\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) "\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 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")
@ -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 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")
(table $0 11 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)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $std/string/str (mut i32) (i32.const 24))
(global $std/string/nullStr (mut i32) (i32.const 0))
(global $~lib/util/runtime/HEADER_SIZE i32 (i32.const 16))
@ -211,10 +211,7 @@
(export "getString" (func $std/string/getString))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $~lib/string/String#get:length (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
global.get $~lib/util/runtime/HEADER_SIZE
i32.sub
@ -222,7 +219,7 @@
i32.const 1
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 $0
call $~lib/string/String#get:length
@ -238,7 +235,7 @@
i32.add
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.get $0
i32.const 0
@ -252,7 +249,7 @@
i32.eqz
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 32
local.get $0
@ -264,7 +261,7 @@
i32.sub
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 $2 i32)
(local $3 i32)
@ -343,12 +340,12 @@
global.set $~lib/allocator/arena/offset
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
call $~lib/allocator/arena/__mem_allocate
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.get $0
call $~lib/runtime/runtime.adjust
@ -370,10 +367,10 @@
global.get $~lib/util/runtime/HEADER_SIZE
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
)
(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.get $0
global.get $~lib/memory/HEAP_BASE
@ -411,7 +408,7 @@
call $~lib/collector/dummy/__ref_register
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)
i32.const 2
call $~lib/runtime/runtime.allocate
@ -423,7 +420,7 @@
i32.const 1
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 $6 i32)
(local $7 i32)
@ -476,7 +473,7 @@
end
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 $3 i32)
local.get $0
@ -520,7 +517,7 @@
call $~lib/util/string/compareImpl
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 $2 i32)
(local $3 i32)
@ -583,7 +580,7 @@
i32.const 1
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 $4 i32)
(local $5 i32)
@ -650,7 +647,7 @@
call $~lib/util/string/compareImpl
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 $4 i32)
(local $5 i32)
@ -714,7 +711,7 @@
call $~lib/util/string/compareImpl
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 $4 i32)
(local $5 i32)
@ -808,7 +805,7 @@
end
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 $4 i32)
(local $5 i32)
@ -2009,7 +2006,7 @@
i32.store8
end
)
(func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2240,7 +2237,7 @@
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 $5 i32)
i32.const 0
@ -2272,7 +2269,7 @@
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 $4 i32)
(local $5 i32)
@ -2373,7 +2370,7 @@
i32.const 1
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 $4 i32)
(local $5 i32)
@ -2478,7 +2475,7 @@
i32.const 1
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 $4 i32)
(local $5 i32)
@ -2570,7 +2567,7 @@
end
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 $3 i32)
(local $4 i32)
@ -2871,12 +2868,12 @@
local.get $7
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 $1
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 $2 i32)
(local $3 i32)
@ -3073,7 +3070,7 @@
local.get $5
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 $3 i32)
(local $4 i32)
@ -3123,7 +3120,7 @@
i32.const 1
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
i32.const 352
local.get $0
@ -3133,13 +3130,13 @@
local.get $1
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 $1
call $~lib/string/String.__eq
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 $3 i32)
(local $4 i32)
@ -3201,7 +3198,7 @@
i32.const 0
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 $3 i32)
(local $4 i32)
@ -3263,19 +3260,19 @@
i32.const 0
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 $1
call $~lib/string/String.__lt
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 $1
call $~lib/string/String.__gt
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 $3 i32)
(local $4 i32)
@ -3358,7 +3355,7 @@
i32.const 1
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 $4 i32)
(local $5 i32)
@ -3448,58 +3445,13 @@
i32.const 1
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
)
(func $~lib/array/Array<~lib/string/String>~traverse (; 37 ;) (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 $~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)
(func $~lib/collector/dummy/__ref_unlink (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop
)
(func $~lib/collector/dummy/__ref_unlink (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 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)
(func $~lib/runtime/runtime.makeArray (; 37 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -3519,7 +3471,7 @@
local.get $2
i32.shl
call $~lib/runtime/runtime.allocate
i32.const 4
i32.const 3
call $~lib/runtime/runtime.register
local.set $6
local.get $4
@ -3563,7 +3515,7 @@
end
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 $4 i32)
(local $5 i32)
@ -3820,14 +3772,14 @@
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
)
(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
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 $3 i32)
(local $4 i32)
@ -3931,7 +3883,7 @@
i32.store offset=4
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 $4 i32)
(local $5 i32)
@ -3953,7 +3905,7 @@
if
i32.const 0
i32.const 1912
i32.const 14
i32.const 15
i32.const 64
call $~lib/env/abort
unreachable
@ -4005,7 +3957,7 @@
i32.store offset=8
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 $3 i32)
(local $4 i32)
@ -4055,7 +4007,7 @@
i32.store offset=12
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 $4 i32)
local.get $0
@ -4088,7 +4040,7 @@
call $~lib/collector/dummy/__ref_link
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 $4 i32)
(local $5 i32)
@ -4395,11 +4347,11 @@
end
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
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
i32.load offset=4
local.get $1
@ -4408,7 +4360,7 @@
i32.add
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 $0
i32.load offset=12
@ -4416,7 +4368,7 @@
if
i32.const 0
i32.const 1912
i32.const 96
i32.const 97
i32.const 45
call $~lib/env/abort
unreachable
@ -4430,7 +4382,7 @@
if
i32.const 0
i32.const 1912
i32.const 99
i32.const 100
i32.const 61
call $~lib/env/abort
unreachable
@ -4439,7 +4391,7 @@
local.get $1
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.get $0
i32.const 100000
@ -4508,12 +4460,7 @@
unreachable
unreachable
)
(func $~lib/array/Array<u32>~traverse (; 54 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/util/number/utoa32_lut (; 50 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4656,7 +4603,7 @@
i32.store16
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 $2 i32)
(local $3 i32)
@ -4712,7 +4659,7 @@
i32.const 1
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 $2 i32)
(local $3 i32)
@ -4748,7 +4695,7 @@
i32.const 1
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.get $0
i64.const 1000000000000000
@ -4817,7 +4764,7 @@
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 $4 i64)
(local $5 i32)
@ -4945,7 +4892,7 @@
local.get $2
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 $2 i32)
(local $3 i32)
@ -5013,7 +4960,7 @@
i32.const 1
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 $2 i32)
(local $3 i32)
@ -5103,24 +5050,19 @@
i32.const 1
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
f64.sub
f64.const 0
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
f64.ne
)
(func $~lib/array/Array<u64>~traverse (; 64 ;) (type $FUNCSIG$vi) (param $0 i32)
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)
(func $~lib/array/Array<u64>#__unchecked_get (; 59 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
local.get $0
i32.load offset=4
local.get $1
@ -5129,12 +5071,7 @@
i32.add
i64.load
)
(func $~lib/array/Array<i16>~traverse (; 66 ;) (type $FUNCSIG$vi) (param $0 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)
(func $~lib/array/Array<i16>#__unchecked_get (; 60 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load offset=4
local.get $1
@ -5143,7 +5080,7 @@
i32.add
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 $8 i64)
(local $9 i64)
@ -5714,7 +5651,7 @@
end
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 $4 i32)
(local $5 i32)
@ -6047,7 +5984,7 @@
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 $3 f64)
(local $4 i32)
@ -6485,7 +6422,7 @@
local.get $2
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 $4 i32)
(local $5 i32)
@ -6603,7 +6540,7 @@
i32.const 1
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.get $0
global.get $~lib/memory/HEAP_BASE
@ -6637,7 +6574,7 @@
local.get $1
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 $2 i32)
(local $3 i32)
@ -6684,7 +6621,7 @@
call $~lib/runtime/runtime.discard
local.get $3
)
(func $start:std/string (; 74 ;) (type $FUNCSIG$v)
(func $start:std/string (; 67 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -10118,12 +10055,12 @@
unreachable
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
)
(func $start (; 76 ;) (type $FUNCSIG$v)
(func $start (; 69 ;) (type $FUNCSIG$v)
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
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(memory $0 1)
(data (i32.const 8) "\01\00\00\00\0e")
(data (i32.const 24) "w\00a\00s\00i\00.\00t\00s")
(table $0 2 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $wasi/sig (mut i32) (i32.const 1))
(global $~lib/capabilities i32 (i32.const 2))
(export "memory" (memory $0))
(export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/string/String~traverse (; 0 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $start (; 1 ;) (type $FUNCSIG$v)
(func $start (; 0 ;) (type $FUNCSIG$v)
i32.const 9
global.set $wasi/sig
)
(func $null (; 2 ;) (type $FUNCSIG$v)
(func $null (; 1 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -1,12 +1,11 @@
(module
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(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")
(table $0 2 funcref)
(elem (i32.const 0) $null $~lib/string/String~traverse)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $wasi/WASM32 i32 (i32.const 1))
(global $wasi/WASM64 i32 (i32.const 2))
(global $~lib/ASC_TARGET i32 (i32.const 0))
@ -17,10 +16,7 @@
(export "table" (table $0))
(export ".capabilities" (global $~lib/capabilities))
(start $start)
(func $~lib/string/String~traverse (; 1 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
)
(func $start:wasi (; 2 ;) (type $FUNCSIG$v)
(func $start:wasi (; 1 ;) (type $FUNCSIG$v)
i32.const 0
i32.const 0
i32.eq
@ -544,9 +540,9 @@
i32.const 9
global.set $wasi/sig
)
(func $start (; 3 ;) (type $FUNCSIG$v)
(func $start (; 2 ;) (type $FUNCSIG$v)
call $start:wasi
)
(func $null (; 4 ;) (type $FUNCSIG$v)
(func $null (; 3 ;) (type $FUNCSIG$v)
)
)