mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-05-29 15:41:26 +00:00
finalize GC wiring
This commit is contained in:
parent
6a790321aa
commit
3e3c393856
142
src/builtins.ts
142
src/builtins.ts
@ -2370,6 +2370,15 @@ export function compileCall(
|
||||
let typeRef = module.getFunctionTypeBySignature(nativeReturnType, nativeParamTypes);
|
||||
if (!typeRef) typeRef = module.addFunctionType(typeName, nativeReturnType, nativeParamTypes);
|
||||
compiler.currentType = returnType;
|
||||
// if the index expression is precomputable to a constant value, emit a direct call
|
||||
if (getExpressionId(arg0 = module.precomputeExpression(arg0)) == ExpressionId.Const) {
|
||||
assert(getExpressionType(arg0) == NativeType.I32);
|
||||
let index = getConstValueI32(arg0);
|
||||
let functionTable = compiler.functionTable;
|
||||
if (index >= 0 && index < functionTable.length) {
|
||||
return module.createCall(functionTable[index], operandExprs, nativeReturnType);
|
||||
}
|
||||
}
|
||||
// of course this can easily result in a 'RuntimeError: function signature mismatch' trap and
|
||||
// thus must be used with care. it exists because it *might* be useful in specific scenarios.
|
||||
return module.createCallIndirect(arg0, operandExprs, typeName);
|
||||
@ -3620,8 +3629,16 @@ export function compileCall(
|
||||
compiler.currentType = Type.u32;
|
||||
if (!type) return module.createUnreachable();
|
||||
let classReference = type.classReference;
|
||||
if (!classReference) return module.createUnreachable();
|
||||
return module.createI32(classReference.id);
|
||||
if (!classReference || classReference.hasDecorator(DecoratorFlags.UNMANAGED)) {
|
||||
compiler.error(
|
||||
DiagnosticCode.Operation_not_supported,
|
||||
reportNode.range
|
||||
);
|
||||
return module.createUnreachable();
|
||||
}
|
||||
let classId = classReference.ensureClassId(compiler); // involves compile steps
|
||||
compiler.currentType = Type.u32;
|
||||
return module.createI32(classId);
|
||||
}
|
||||
case BuiltinSymbols.iterateRoots: {
|
||||
if (
|
||||
@ -4093,127 +4110,6 @@ export function compileIterateRoots(compiler: Compiler): void {
|
||||
);
|
||||
}
|
||||
|
||||
/** Ensures that the specified class's GC hook exists and returns its function table index. */
|
||||
export function ensureGCHook(
|
||||
compiler: Compiler,
|
||||
classInstance: Class
|
||||
): u32 {
|
||||
var program = compiler.program;
|
||||
assert(classInstance.type.isManaged(program));
|
||||
|
||||
// check if the GC hook has already been created
|
||||
{
|
||||
let existingIndex = classInstance.gcHookIndex;
|
||||
if (existingIndex != <u32>-1) return existingIndex;
|
||||
}
|
||||
|
||||
// check if the class implements a custom GC function (only valid for library elements)
|
||||
var members = classInstance.members;
|
||||
if (classInstance.isDeclaredInLibrary) {
|
||||
if (members !== null && members.has("__iter")) {
|
||||
let iterPrototype = assert(members.get("__iter"));
|
||||
assert(iterPrototype.kind == ElementKind.FUNCTION_PROTOTYPE);
|
||||
let iterInstance = assert(program.resolver.resolveFunction(<FunctionPrototype>iterPrototype, null));
|
||||
assert(iterInstance.is(CommonFlags.PRIVATE | CommonFlags.INSTANCE));
|
||||
assert(!iterInstance.isAny(CommonFlags.AMBIENT | CommonFlags.VIRTUAL));
|
||||
let signature = iterInstance.signature;
|
||||
let parameterTypes = signature.parameterTypes;
|
||||
assert(parameterTypes.length == 1);
|
||||
assert(parameterTypes[0].signatureReference);
|
||||
assert(signature.returnType == Type.void);
|
||||
iterInstance.internalName = classInstance.internalName + "~iter";
|
||||
assert(compiler.compileFunction(iterInstance));
|
||||
let index = compiler.ensureFunctionTableEntry(iterInstance);
|
||||
classInstance.gcHookIndex = index;
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
||||
var module = compiler.module;
|
||||
var options = compiler.options;
|
||||
var nativeSizeType = options.nativeSizeType;
|
||||
var nativeSizeSize = options.usizeType.byteSize;
|
||||
var body = new Array<ExpressionRef>();
|
||||
|
||||
// nothing to mark if 'this' is null
|
||||
body.push(
|
||||
module.createIf(
|
||||
module.createUnary(
|
||||
options.isWasm64
|
||||
? UnaryOp.EqzI64
|
||||
: UnaryOp.EqzI32,
|
||||
module.createGetLocal(0, nativeSizeType)
|
||||
),
|
||||
module.createReturn()
|
||||
)
|
||||
);
|
||||
|
||||
// remember the function index so we don't recurse infinitely
|
||||
var functionTable = compiler.functionTable;
|
||||
var gcHookIndex = functionTable.length;
|
||||
functionTable.push("<placeholder>");
|
||||
classInstance.gcHookIndex = gcHookIndex;
|
||||
|
||||
// if the class extends a base class, call its hook first
|
||||
var baseInstance = classInstance.base;
|
||||
if (baseInstance) {
|
||||
assert(baseInstance.type.isManaged(program));
|
||||
body.push(
|
||||
module.createCallIndirect(
|
||||
module.createI32(
|
||||
ensureGCHook(compiler, <Class>baseInstance.type.classReference)
|
||||
),
|
||||
[
|
||||
module.createGetLocal(0, nativeSizeType), // this
|
||||
module.createGetLocal(1, NativeType.I32) // fn
|
||||
],
|
||||
"FUNCSIG$" + (nativeSizeType == NativeType.I64 ? "vji" : "vii")
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// mark instances assigned to own fields that are again references
|
||||
if (members) {
|
||||
for (let member of members.values()) {
|
||||
if (member.kind == ElementKind.FIELD) {
|
||||
if ((<Field>member).parent === classInstance) {
|
||||
let type = (<Field>member).type;
|
||||
if (type.isManaged(program)) {
|
||||
let offset = (<Field>member).memoryOffset;
|
||||
assert(offset >= 0);
|
||||
body.push( // fn(fieldValue)
|
||||
module.createCallIndirect(
|
||||
module.createGetLocal(1, NativeType.I32),
|
||||
[
|
||||
module.createLoad(
|
||||
nativeSizeSize,
|
||||
false,
|
||||
module.createGetLocal(0, nativeSizeType),
|
||||
nativeSizeType,
|
||||
offset
|
||||
),
|
||||
],
|
||||
"FUNCSIG$vi"
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add the function to the module and return its table index
|
||||
var funcName = classInstance.internalName + "~iter";
|
||||
module.addFunction(
|
||||
funcName,
|
||||
compiler.ensureFunctionType(null, Type.void, options.usizeType),
|
||||
null,
|
||||
module.createBlock(null, body)
|
||||
);
|
||||
functionTable[gcHookIndex] = funcName;
|
||||
return gcHookIndex;
|
||||
}
|
||||
|
||||
// Helpers
|
||||
|
||||
/** Evaluates the constant type of a type argument *or* expression. */
|
||||
|
147
src/compiler.ts
147
src/compiler.ts
@ -71,7 +71,8 @@ import {
|
||||
DecoratorFlags,
|
||||
PropertyPrototype,
|
||||
File,
|
||||
mangleInternalName
|
||||
mangleInternalName,
|
||||
CollectorKind
|
||||
} from "./program";
|
||||
|
||||
import {
|
||||
@ -448,7 +449,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// expose module capabilities
|
||||
var capabilities = Capability.NONE;
|
||||
if (program.options.isWasm64) capabilities |= Capability.WASM64;
|
||||
if (program.gcImplemented) capabilities |= Capability.GC;
|
||||
if (program.collectorKind != CollectorKind.NONE) capabilities |= Capability.GC;
|
||||
if (capabilities != 0) {
|
||||
module.addGlobal(BuiltinSymbols.capabilities, NativeType.I32, false, module.createI32(capabilities));
|
||||
module.addGlobalExport(BuiltinSymbols.capabilities, ".capabilities");
|
||||
@ -1408,7 +1409,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
} else {
|
||||
let length = stringValue.length;
|
||||
let buffer = new Uint8Array(rtHeaderSize + (length << 1));
|
||||
program.writeRuntimeHeader(buffer, 0, stringInstance, length << 1);
|
||||
program.writeRuntimeHeader(buffer, 0, stringInstance.ensureClassId(this), length << 1);
|
||||
for (let i = 0; i < length; ++i) {
|
||||
writeI16(stringValue.charCodeAt(i), buffer, rtHeaderSize + (i << 1));
|
||||
}
|
||||
@ -1434,7 +1435,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
var runtimeHeaderSize = program.runtimeHeaderSize;
|
||||
|
||||
var buf = new Uint8Array(runtimeHeaderSize + byteLength);
|
||||
program.writeRuntimeHeader(buf, 0, bufferInstance, byteLength);
|
||||
program.writeRuntimeHeader(buf, 0, bufferInstance.ensureClassId(this), byteLength);
|
||||
var pos = runtimeHeaderSize;
|
||||
var nativeType = elementType.toNativeType();
|
||||
switch (nativeType) {
|
||||
@ -1521,7 +1522,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
var arrayLength = i32(bufferLength / elementType.byteSize);
|
||||
|
||||
var buf = new Uint8Array(runtimeHeaderSize + arrayInstanceSize);
|
||||
program.writeRuntimeHeader(buf, 0, arrayInstance, arrayInstanceSize);
|
||||
program.writeRuntimeHeader(buf, 0, arrayInstance.ensureClassId(this), arrayInstanceSize);
|
||||
|
||||
var bufferAddress32 = i64_low(bufferSegment.offset) + runtimeHeaderSize;
|
||||
assert(!program.options.isWasm64); // TODO
|
||||
@ -6820,7 +6821,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// makeArray(length, classId, alignLog2, staticBuffer)
|
||||
let expr = this.makeCallDirect(assert(program.makeArrayInstance), [
|
||||
module.createI32(length),
|
||||
module.createI32(arrayInstance.id),
|
||||
module.createI32(arrayInstance.ensureClassId(this)),
|
||||
program.options.isWasm64
|
||||
? module.createI64(elementType.alignLog2)
|
||||
: module.createI32(elementType.alignLog2),
|
||||
@ -6854,7 +6855,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
module.createSetLocal(tempThis.index,
|
||||
this.makeCallDirect(makeArrayInstance, [
|
||||
module.createI32(length),
|
||||
module.createI32(arrayInstance.id),
|
||||
module.createI32(arrayInstance.ensureClassId(this)),
|
||||
program.options.isWasm64
|
||||
? module.createI64(elementType.alignLog2)
|
||||
: module.createI32(elementType.alignLog2),
|
||||
@ -8115,7 +8116,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
? module.createI64(classInstance.currentMemoryOffset)
|
||||
: module.createI32(classInstance.currentMemoryOffset)
|
||||
], reportNode),
|
||||
module.createI32(classInstance.id)
|
||||
module.createI32(classInstance.ensureClassId(this))
|
||||
], reportNode);
|
||||
}
|
||||
}
|
||||
@ -8320,7 +8321,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
module.createBreak(label,
|
||||
module.createBinary(BinaryOp.EqI32, // classId == class.id
|
||||
module.createTeeLocal(idTemp.index, idExpr),
|
||||
module.createI32(classInstance.id)
|
||||
module.createI32(classInstance.ensureClassId(this))
|
||||
),
|
||||
module.createI32(1) // ? true
|
||||
)
|
||||
@ -8335,6 +8336,134 @@ export class Compiler extends DiagnosticEmitter {
|
||||
flow.popBreakLabel();
|
||||
return module.createBlock(label, conditions, NativeType.I32);
|
||||
}
|
||||
|
||||
/** Reserves the function index / class id for the following `makeIterate` operation. */
|
||||
makeIterateReserve(classInstance: Class): u32 {
|
||||
var functionTable = this.functionTable;
|
||||
var functionIndex = functionTable.length;
|
||||
functionTable.push(classInstance.iterateName);
|
||||
return functionIndex;
|
||||
}
|
||||
|
||||
/** Makes the managed iteration function of the specified class. */
|
||||
makeIterate(classInstance: Class, functionIndex: i32): void {
|
||||
var program = this.program;
|
||||
assert(classInstance.type.isManaged(program));
|
||||
|
||||
// check if the class implements a custom iteration function (only valid for library elements)
|
||||
var members = classInstance.members;
|
||||
if (classInstance.isDeclaredInLibrary) {
|
||||
if (members !== null && members.has("__iterate")) {
|
||||
let iterPrototype = members.get("__iterate")!;
|
||||
assert(iterPrototype.kind == ElementKind.FUNCTION_PROTOTYPE);
|
||||
let iterInstance = assert(program.resolver.resolveFunction(<FunctionPrototype>iterPrototype, null));
|
||||
assert(iterInstance.is(CommonFlags.PRIVATE | CommonFlags.INSTANCE));
|
||||
assert(iterInstance.hasDecorator(DecoratorFlags.UNSAFE));
|
||||
assert(!iterInstance.isAny(CommonFlags.AMBIENT | CommonFlags.VIRTUAL));
|
||||
let signature = iterInstance.signature;
|
||||
let parameterTypes = signature.parameterTypes;
|
||||
assert(parameterTypes.length == 1);
|
||||
assert(parameterTypes[0].signatureReference);
|
||||
assert(signature.returnType == Type.void);
|
||||
iterInstance.internalName = classInstance.iterateName;
|
||||
assert(this.compileFunction(iterInstance));
|
||||
this.ensureFunctionTableEntry(iterInstance);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var module = this.module;
|
||||
var options = this.options;
|
||||
var nativeSizeType = options.nativeSizeType;
|
||||
var nativeSizeSize = options.usizeType.byteSize;
|
||||
// var signatureStr = Signature.makeSignatureString([ Type.u32 ], Type.void, options.usizeType);
|
||||
var body = new Array<ExpressionRef>();
|
||||
|
||||
// nothing to mark if 'this' is null (should not happen)
|
||||
// body.push(
|
||||
// module.createIf(
|
||||
// module.createUnary(
|
||||
// options.isWasm64
|
||||
// ? UnaryOp.EqzI64
|
||||
// : UnaryOp.EqzI32,
|
||||
// module.createGetLocal(0, nativeSizeType)
|
||||
// ),
|
||||
// module.createReturn()
|
||||
// )
|
||||
// );
|
||||
|
||||
// remember the function index so we don't recurse infinitely
|
||||
var functionTable = this.functionTable;
|
||||
var functionName = classInstance.iterateName;
|
||||
assert(functionIndex < functionTable.length);
|
||||
assert(functionTable[functionIndex] == functionName);
|
||||
|
||||
// if the class extends a base class, call its hook first
|
||||
var baseInstance = classInstance.base;
|
||||
if (baseInstance) {
|
||||
let baseType = baseInstance.type;
|
||||
let baseClassId = baseInstance.ensureClassId(this);
|
||||
assert(baseType.isManaged(program));
|
||||
body.push(
|
||||
// BASECLASS~iterate.call(this, fn)
|
||||
module.createCall(functionTable[baseClassId], [
|
||||
module.createGetLocal(0, nativeSizeType),
|
||||
module.createGetLocal(1, NativeType.I32)
|
||||
], NativeType.None)
|
||||
);
|
||||
}
|
||||
|
||||
// iterate references assigned to own fields
|
||||
if (members) {
|
||||
for (let member of members.values()) {
|
||||
if (member.kind == ElementKind.FIELD) {
|
||||
if ((<Field>member).parent === classInstance) {
|
||||
let fieldType = (<Field>member).type;
|
||||
if (fieldType.isManaged(program)) {
|
||||
let fieldClass = fieldType.classReference!;
|
||||
let fieldClassId = fieldClass.ensureClassId(this);
|
||||
let fieldOffset = (<Field>member).memoryOffset;
|
||||
assert(fieldOffset >= 0);
|
||||
body.push(
|
||||
// if ($2 = value) { fn($2); FIELDCLASS~iterate($2, fn); }
|
||||
module.createIf(
|
||||
module.createTeeLocal(2,
|
||||
module.createLoad(
|
||||
nativeSizeSize,
|
||||
false,
|
||||
module.createGetLocal(0, nativeSizeType),
|
||||
nativeSizeType,
|
||||
fieldOffset
|
||||
)
|
||||
),
|
||||
module.createBlock(null, [
|
||||
module.createCallIndirect(
|
||||
module.createGetLocal(1, NativeType.I32),
|
||||
[
|
||||
module.createGetLocal(2, nativeSizeType)
|
||||
], "FUNCSIG$vi"
|
||||
),
|
||||
module.createCall(functionTable[fieldClassId], [
|
||||
module.createGetLocal(2, nativeSizeType),
|
||||
module.createGetLocal(1, NativeType.I32)
|
||||
], NativeType.None)
|
||||
])
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add the function to the module and return its table index
|
||||
module.addFunction(
|
||||
functionName,
|
||||
this.ensureFunctionType([ Type.u32 ], Type.void, options.usizeType),
|
||||
members ? [ nativeSizeType ] : null,
|
||||
module.createBlock(null, body)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// helpers
|
||||
|
@ -18,7 +18,8 @@ import {
|
||||
|
||||
import {
|
||||
Options,
|
||||
Feature
|
||||
Feature,
|
||||
Compiler
|
||||
} from "./compiler";
|
||||
|
||||
import {
|
||||
@ -308,6 +309,13 @@ function operatorKindFromDecorator(decoratorKind: DecoratorKind, arg: string): O
|
||||
return OperatorKind.INVALID;
|
||||
}
|
||||
|
||||
/** Garbage collector kind present. */
|
||||
export enum CollectorKind {
|
||||
NONE,
|
||||
TRACING,
|
||||
COUNTING
|
||||
}
|
||||
|
||||
/** Represents an AssemblyScript program. */
|
||||
export class Program extends DiagnosticEmitter {
|
||||
|
||||
@ -367,25 +375,24 @@ export class Program extends DiagnosticEmitter {
|
||||
/** Runtime make array function. `makeArray(capacity: i32, source: usize = 0, cid: u32): usize` */
|
||||
makeArrayInstance: Function | null = null;
|
||||
|
||||
/** The kind of garbage collector being present. */
|
||||
collectorKind: CollectorKind = CollectorKind.NONE;
|
||||
/** Memory allocation implementation, if present: `__mem_allocate(size: usize): usize` */
|
||||
allocateMem: Function | null = null;
|
||||
/** Memory free implementation, if present: `__mem_free(ref: usize): void` */
|
||||
freeMem: Function | null = null;
|
||||
/** Reference link implementation, if present: `__ref_link(ref: usize, parentRef: usize): void` */
|
||||
linkRef: Function | null = null;
|
||||
/** Reference unlink implementation, if present: `__ref_unlink(ref: usize, parentRef: usize): void` */
|
||||
unlinkRef: Function | null = null;
|
||||
/** Reference retain implementation, if present: `__ref_retain(ref: usize): void` */
|
||||
retainRef: Function | null = null;
|
||||
/** Reference release implementation, if present: `__ref_release(ref: usize): void` */
|
||||
releaseRef: Function | null = null;
|
||||
|
||||
/** Next class id. */
|
||||
nextClassId: u32 = 1;
|
||||
|
||||
// gc integration
|
||||
|
||||
/** Whether a garbage collector is present or not. */
|
||||
get gcImplemented(): bool {
|
||||
return this.lookupGlobal("__ref_collect") !== null;
|
||||
}
|
||||
/** Garbage collector mark function called to on reachable managed objects. */
|
||||
gcMarkInstance: Function | null = null; // FIXME
|
||||
|
||||
/** Constructs a new program, optionally inheriting parser diagnostics. */
|
||||
constructor(
|
||||
/** Shared array of diagnostic messages (emitted so far). */
|
||||
@ -402,12 +409,12 @@ export class Program extends DiagnosticEmitter {
|
||||
|
||||
/** Gets the size of a common runtime header. */
|
||||
get runtimeHeaderSize(): i32 {
|
||||
return this.gcImplemented ? 16 : 8;
|
||||
return this.collectorKind ? 16 : 8;
|
||||
}
|
||||
|
||||
/** Writes a common runtime header to the specified buffer. */
|
||||
writeRuntimeHeader(buffer: Uint8Array, offset: i32, classInstance: Class, payloadSize: u32): void {
|
||||
writeI32(classInstance.id, buffer, offset);
|
||||
writeRuntimeHeader(buffer: Uint8Array, offset: i32, classId: i32, payloadSize: u32): void {
|
||||
writeI32(classId, buffer, offset);
|
||||
writeI32(payloadSize, buffer, offset + 4);
|
||||
}
|
||||
|
||||
@ -854,12 +861,14 @@ export class Program extends DiagnosticEmitter {
|
||||
assert(element.kind == ElementKind.FUNCTION_PROTOTYPE);
|
||||
this.unlinkRef = this.resolver.resolveFunction(<FunctionPrototype>element, null);
|
||||
}
|
||||
this.collectorKind = CollectorKind.TRACING;
|
||||
} else if (element = this.lookupGlobal("__ref_retain")) {
|
||||
assert(element.kind == ElementKind.FUNCTION_PROTOTYPE);
|
||||
this.retainRef = this.resolver.resolveFunction(<FunctionPrototype>element, null);
|
||||
element = assert(this.lookupGlobal("__ref_release"));
|
||||
assert(element.kind == ElementKind.FUNCTION_PROTOTYPE);
|
||||
this.releaseRef = this.resolver.resolveFunction(<FunctionPrototype>element, null);
|
||||
this.collectorKind = CollectorKind.COUNTING;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2999,14 +3008,27 @@ export class Class extends TypedElement {
|
||||
constructorInstance: Function | null = null;
|
||||
/** Operator overloads. */
|
||||
overloads: Map<OperatorKind,Function> | null = null;
|
||||
/** Function index of the GC hook. */
|
||||
gcHookIndex: u32 = <u32>-1;
|
||||
/** Unique class id. */
|
||||
private _id: u32 = 0;
|
||||
/** Gets the unique id of this class. */
|
||||
get id(): u32 {
|
||||
|
||||
/** Ensures that this class has an id. */
|
||||
ensureClassId(compiler: Compiler): i32 {
|
||||
var id = this._id;
|
||||
if (!id) this._id = id = this.program.nextClassId++;
|
||||
if (!id) {
|
||||
assert(!this.hasDecorator(DecoratorFlags.UNMANAGED));
|
||||
let program = this.program;
|
||||
if (program.collectorKind == CollectorKind.TRACING) {
|
||||
// tracing GC uses the function index of the iteration function as the
|
||||
// class's id so it can call the id directly, which avoids to generate
|
||||
// a helper function with a big switch mapping ids to function indexes.
|
||||
// here: might be called recursively in makeIterate, so reserve the id.
|
||||
this._id = id = compiler.makeIterateReserve(this);
|
||||
compiler.makeIterate(this, id);
|
||||
} else {
|
||||
// counting GC or none just increments without any iterate functions
|
||||
this._id = id = program.nextClassId++;
|
||||
}
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
@ -3031,6 +3053,11 @@ export class Class extends TypedElement {
|
||||
);
|
||||
}
|
||||
|
||||
/** Gets the name of this class's GC iteration function. */
|
||||
get iterateName(): string {
|
||||
return this.internalName + "~iterate";
|
||||
}
|
||||
|
||||
/** Constructs a new class. */
|
||||
constructor(
|
||||
/** Name incl. type parameters, i.e. `Foo<i32>`. */
|
||||
|
@ -7,7 +7,8 @@ import {
|
||||
Class,
|
||||
FunctionTarget,
|
||||
Program,
|
||||
DecoratorFlags
|
||||
DecoratorFlags,
|
||||
CollectorKind
|
||||
} from "./program";
|
||||
|
||||
import {
|
||||
@ -152,7 +153,7 @@ export class Type {
|
||||
|
||||
/** Tests if this is a managed type that needs GC hooks. */
|
||||
isManaged(program: Program): bool {
|
||||
if (program.gcImplemented) {
|
||||
if (program.collectorKind != CollectorKind.NONE) {
|
||||
let classReference = this.classReference;
|
||||
return classReference !== null && !classReference.hasDecorator(DecoratorFlags.UNMANAGED);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/// <reference path="./collector/index.d.ts" />
|
||||
|
||||
import { ALLOCATE, REALLOCATE, DISCARD, REGISTER, MAX_BYTELENGTH, MAKEARRAY, ArrayBufferView } from "./runtime";
|
||||
import { ALLOCATE, REALLOCATE, DISCARD, REGISTER, MAX_BYTELENGTH, MAKEARRAY, ArrayBufferView, classId } from "./runtime";
|
||||
import { ArrayBuffer } from "./arraybuffer";
|
||||
import { COMPARATOR, SORT } from "./util/sort";
|
||||
import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./util/number";
|
||||
@ -804,13 +804,22 @@ export class Array<T> extends ArrayBufferView {
|
||||
|
||||
// GC integration
|
||||
|
||||
@unsafe private __iter(fn: (ref: usize) => void): void {
|
||||
@unsafe private __iterate(fn: (ref: usize) => void): void {
|
||||
fn(changetype<usize>(this.data));
|
||||
if (isManaged<T>()) {
|
||||
let cur = this.dataStart;
|
||||
let end = cur + <usize>this.dataLength;
|
||||
while (cur < end) {
|
||||
fn(load<usize>(cur));
|
||||
let val = load<usize>(cur);
|
||||
if (isNullable<T>()) {
|
||||
if (val) {
|
||||
fn(val);
|
||||
call_indirect(classId<T>(), val, fn);
|
||||
}
|
||||
} else {
|
||||
fn(val);
|
||||
call_indirect(classId<T>(), val, fn);
|
||||
}
|
||||
cur += sizeof<usize>();
|
||||
}
|
||||
}
|
||||
|
@ -159,14 +159,12 @@ function step(): void {
|
||||
if (TRACE) trace("itcm~step/MARK iterate", 1, objToRef(obj));
|
||||
iter = obj;
|
||||
obj.color = i32(!white);
|
||||
// if (TRACE) {
|
||||
// trace(" next/prev/hook", 3,
|
||||
// changetype<usize>(obj.next),
|
||||
// changetype<usize>(obj.prev),
|
||||
// changetype<u32>(obj.hookFn)
|
||||
// );
|
||||
// }
|
||||
obj.hookFn(objToRef(obj));
|
||||
// CLASS~iterate(ref, fn)
|
||||
call_indirect(obj.classId, objToRef(obj), (ref: usize): void => {
|
||||
trace(" iter", 1, ref);
|
||||
var obj = refToObj(ref);
|
||||
if (obj.color == white) obj.makeGray();
|
||||
});
|
||||
} else {
|
||||
if (TRACE) trace("itcm~step/MARK finish");
|
||||
iterateRoots((ref: usize): void => {
|
||||
@ -237,7 +235,7 @@ export function __ref_register(ref: usize): void {
|
||||
step(); // also makes sure it's initialized
|
||||
var obj = refToObj(ref);
|
||||
obj.color = white;
|
||||
fromSpace.push(obj);
|
||||
fromSpace.push(obj); // sets gc-reserved header fields
|
||||
}
|
||||
|
||||
// @ts-ignore: decorator
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { ALLOCATE, REGISTER, MAX_BYTELENGTH, HEADER, HEADER_SIZE } from "./runtime";
|
||||
import { ALLOCATE, REGISTER, MAX_BYTELENGTH, HEADER, HEADER_SIZE, classId } from "./runtime";
|
||||
import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error";
|
||||
|
||||
// NOTE: DO NOT USE YET!
|
||||
@ -71,12 +71,21 @@ export class FixedArray<T> {
|
||||
|
||||
// GC integration
|
||||
|
||||
@unsafe private __iter(fn: (ref: usize) => void): void {
|
||||
@unsafe private __iterate(fn: (ref: usize) => void): void {
|
||||
if (isManaged<T>()) {
|
||||
let cur = changetype<usize>(this);
|
||||
let end = cur + changetype<HEADER>(changetype<usize>(this) - HEADER_SIZE).payloadSize;
|
||||
while (cur < end) {
|
||||
fn(load<usize>(cur));
|
||||
let val = load<usize>(cur);
|
||||
if (isNullable<T>()) {
|
||||
if (val) {
|
||||
fn(val);
|
||||
call_indirect(classId<T>(), val, fn);
|
||||
}
|
||||
} else {
|
||||
fn(val);
|
||||
call_indirect(classId<T>(), val, fn);
|
||||
}
|
||||
cur += sizeof<usize>();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
/// <reference path="./collector/index.d.ts" />
|
||||
|
||||
import { HASH } from "./util/hash";
|
||||
import { classId } from "./runtime";
|
||||
|
||||
// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht
|
||||
|
||||
@ -267,7 +268,7 @@ export class Map<K,V> {
|
||||
|
||||
// GC integration
|
||||
|
||||
@unsafe private __iter(fn: (ref: usize) => void): void {
|
||||
@unsafe private __iterate(fn: (ref: usize) => void): void {
|
||||
fn(changetype<usize>(this.buckets));
|
||||
var entries = this.entries;
|
||||
fn(changetype<usize>(entries));
|
||||
@ -277,8 +278,30 @@ export class Map<K,V> {
|
||||
while (cur < end) {
|
||||
let entry = changetype<MapEntry<K,V>>(cur);
|
||||
if (!(entry.taggedNext & EMPTY)) {
|
||||
if (isManaged<K>()) fn(changetype<usize>(entry.key));
|
||||
if (isManaged<V>()) fn(changetype<usize>(entry.value));
|
||||
if (isManaged<K>()) {
|
||||
let val = changetype<usize>(entry.key);
|
||||
if (isNullable<K>()) {
|
||||
if (val) {
|
||||
fn(val);
|
||||
call_indirect(classId<K>(), val, fn);
|
||||
}
|
||||
} else {
|
||||
fn(val);
|
||||
call_indirect(classId<K>(), val, fn);
|
||||
}
|
||||
}
|
||||
if (isManaged<V>()) {
|
||||
let val = changetype<usize>(entry.value);
|
||||
if (isNullable<V>()) {
|
||||
if (val) {
|
||||
fn(val);
|
||||
call_indirect(classId<V>(), val, fn);
|
||||
}
|
||||
} else {
|
||||
fn(val);
|
||||
call_indirect(classId<V>(), val, fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
cur += ENTRY_SIZE<K,V>();
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
/// <reference path="./collector/index.d.ts" />
|
||||
|
||||
import { HASH } from "./util/hash";
|
||||
import { classId } from "./runtime";
|
||||
|
||||
// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht
|
||||
|
||||
@ -197,7 +198,7 @@ export class Set<K> {
|
||||
|
||||
// GC integration
|
||||
|
||||
@unsafe private __iter(fn: (ref: usize) => void): void {
|
||||
@unsafe private __iterate(fn: (ref: usize) => void): void {
|
||||
fn(changetype<usize>(this.buckets));
|
||||
var entries = this.entries;
|
||||
fn(changetype<usize>(entries));
|
||||
@ -206,7 +207,18 @@ export class Set<K> {
|
||||
let end = cur + <usize>this.entriesOffset * ENTRY_SIZE<K>();
|
||||
while (cur < end) {
|
||||
let entry = changetype<SetEntry<K>>(cur);
|
||||
if (!(entry.taggedNext & EMPTY)) fn(changetype<usize>(entry.key));
|
||||
if (!(entry.taggedNext & EMPTY)) {
|
||||
let val = changetype<usize>(entry.key);
|
||||
if (isNullable<K>()) {
|
||||
if (val) {
|
||||
fn(val);
|
||||
call_indirect(classId<K>(), val, fn);
|
||||
}
|
||||
} else {
|
||||
fn(val);
|
||||
call_indirect(classId<K>(), val, fn);
|
||||
}
|
||||
}
|
||||
cur += ENTRY_SIZE<K>();
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
(module
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$i (func (result i32)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
@ -25,8 +25,8 @@
|
||||
(data (i32.const 232) "g\00c\00.\00u\00n\00l\00i\00n\00k")
|
||||
(data (i32.const 256) "\02\00\00\00\14")
|
||||
(data (i32.const 272) "g\00c\00.\00c\00o\00l\00l\00e\00c\00t")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 6 funcref)
|
||||
(elem (i32.const 0) $null $gc/Ref~iterate $gc/Ref~iterate $~lib/set/Set<usize>~iterate $~lib/set/Set<usize>~iterate $gc/Ref~iterate)
|
||||
(global $gc/_dummy/collect_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_ref (mut i32) (i32.const 0))
|
||||
@ -39,6 +39,7 @@
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
||||
(global $~lib/gc/gc.implemented i32 (i32.const 1))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $~lib/gc/GC_ROOT (mut i32) (i32.const 0))
|
||||
(global $~lib/started (mut i32) (i32.const 0))
|
||||
(global $~lib/capabilities i32 (i32.const 2))
|
||||
@ -139,7 +140,10 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $gc/Ref~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 72
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -156,7 +160,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/register_ref
|
||||
)
|
||||
(func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.const 292
|
||||
@ -191,7 +195,23 @@
|
||||
call $gc/_dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<usize>~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
local.set $0
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $1
|
||||
@ -402,7 +422,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 1073741808
|
||||
@ -421,10 +441,10 @@
|
||||
local.get $0
|
||||
call $~lib/memory/memory.fill
|
||||
local.get $1
|
||||
i32.const 4
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $gc/_dummy/__ref_link (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $gc/_dummy/__ref_link (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 200
|
||||
i32.const 2
|
||||
local.get $0
|
||||
@ -444,7 +464,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/link_parentRef
|
||||
)
|
||||
(func $gc/_dummy/__ref_unlink (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $gc/_dummy/__ref_unlink (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 232
|
||||
i32.const 2
|
||||
local.get $0
|
||||
@ -464,7 +484,7 @@
|
||||
local.get $1
|
||||
global.set $gc/_dummy/unlink_parentRef
|
||||
)
|
||||
(func $~lib/set/Set<usize>#clear (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/set/Set<usize>#clear (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -527,7 +547,7 @@
|
||||
i32.const 0
|
||||
i32.store offset=20
|
||||
)
|
||||
(func $~lib/set/Set<usize>#constructor (; 11 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<usize>#constructor (; 13 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
@ -555,7 +575,7 @@
|
||||
call $~lib/set/Set<usize>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/hash32 (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/hash/hash32 (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 255
|
||||
i32.and
|
||||
@ -586,7 +606,7 @@
|
||||
i32.const 16777619
|
||||
i32.mul
|
||||
)
|
||||
(func $~lib/set/Set<usize>#find (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<usize>#find (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -629,7 +649,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<usize>#has (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<usize>#has (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -638,7 +658,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<usize>#rehash (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<usize>#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -773,7 +793,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<usize>#add (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<usize>#add (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -856,7 +876,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/gc/gc.retain (; 17 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/gc/gc.retain (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
global.get $~lib/gc/GC_ROOT
|
||||
local.tee $1
|
||||
@ -872,7 +892,7 @@
|
||||
call $gc/_dummy/__ref_link
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<usize>#delete (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<usize>#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -932,7 +952,7 @@
|
||||
call $~lib/set/Set<usize>#rehash
|
||||
end
|
||||
)
|
||||
(func $~lib/gc/gc.release (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/gc/gc.release (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
global.get $~lib/gc/GC_ROOT
|
||||
local.tee $1
|
||||
@ -947,7 +967,7 @@
|
||||
call $gc/_dummy/__ref_unlink
|
||||
end
|
||||
)
|
||||
(func $~lib/gc/gc.collect (; 20 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/gc/gc.collect (; 22 ;) (type $FUNCSIG$v)
|
||||
i32.const 272
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
@ -961,7 +981,7 @@
|
||||
i32.add
|
||||
global.set $gc/_dummy/collect_count
|
||||
)
|
||||
(func $gc/main (; 21 ;) (type $FUNCSIG$v)
|
||||
(func $gc/main (; 23 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -1112,7 +1132,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $null (; 22 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 24 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -1,12 +1,12 @@
|
||||
(module
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
(import "env" "trace" (func $~lib/env/trace (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
@ -18,8 +18,8 @@
|
||||
(data (i32.const 184) "\02\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00l\00i\00n\00k\00")
|
||||
(data (i32.const 216) "\02\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00u\00n\00l\00i\00n\00k\00")
|
||||
(data (i32.const 256) "\02\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00c\00o\00l\00l\00e\00c\00t\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 6 funcref)
|
||||
(elem (i32.const 0) $null $gc/Ref~iterate $~lib/string/String~iterate $~lib/set/Set<usize>~iterate $~lib/set/Set<usize>~iterate $~lib/arraybuffer/ArrayBuffer~iterate)
|
||||
(global $gc/_dummy/collect_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_ref (mut i32) (i32.const 0))
|
||||
@ -35,6 +35,7 @@
|
||||
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
||||
(global $~lib/ASC_NO_ASSERT i32 (i32.const 0))
|
||||
(global $~lib/gc/gc.implemented i32 (i32.const 1))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808))
|
||||
(global $~lib/gc/GC_ROOT (mut i32) (i32.const 0))
|
||||
(global $~lib/started (mut i32) (i32.const 0))
|
||||
@ -166,7 +167,12 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $gc/Ref~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
)
|
||||
(func $~lib/string/String~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 72
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -183,7 +189,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/register_ref
|
||||
)
|
||||
(func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -221,7 +227,7 @@
|
||||
call $gc/_dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $gc/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $gc/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@ -233,7 +239,24 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/set/Set<usize>~iterate (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
local.set $2
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $2
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -490,7 +513,10 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer~iterate (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $1
|
||||
@ -519,11 +545,11 @@
|
||||
local.get $3
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $gc/_dummy/__ref_link (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $gc/_dummy/__ref_link (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 200
|
||||
i32.const 2
|
||||
local.get $0
|
||||
@ -543,7 +569,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/link_parentRef
|
||||
)
|
||||
(func $gc/_dummy/__ref_unlink (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $gc/_dummy/__ref_unlink (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 232
|
||||
i32.const 2
|
||||
local.get $0
|
||||
@ -563,7 +589,7 @@
|
||||
local.get $1
|
||||
global.set $gc/_dummy/unlink_parentRef
|
||||
)
|
||||
(func $~lib/set/Set<usize>#clear (; 13 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/set/Set<usize>#clear (; 17 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -632,7 +658,7 @@
|
||||
i32.const 0
|
||||
i32.store offset=20
|
||||
)
|
||||
(func $~lib/set/Set<usize>#constructor (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/set/Set<usize>#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
@ -666,7 +692,7 @@
|
||||
call $~lib/set/Set<usize>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/hash32 (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/hash/hash32 (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
i32.const -2128831035
|
||||
local.set $1
|
||||
@ -708,7 +734,7 @@
|
||||
local.set $1
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/set/Set<usize>#find (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<usize>#find (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $0
|
||||
@ -759,7 +785,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<usize>#has (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<usize>#has (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -774,7 +800,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<usize>#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<usize>#rehash (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -944,7 +970,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<usize>#add (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<usize>#add (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1042,7 +1068,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/gc/gc.retain (; 20 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/gc/gc.retain (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
global.get $~lib/gc/GC_ROOT
|
||||
local.set $1
|
||||
@ -1059,7 +1085,7 @@
|
||||
call $gc/_dummy/__ref_link
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<usize>#delete (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<usize>#delete (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1132,7 +1158,7 @@
|
||||
end
|
||||
i32.const 1
|
||||
)
|
||||
(func $~lib/gc/gc.release (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/gc/gc.release (; 26 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
global.get $~lib/gc/GC_ROOT
|
||||
local.set $1
|
||||
@ -1149,7 +1175,7 @@
|
||||
call $gc/_dummy/__ref_unlink
|
||||
end
|
||||
)
|
||||
(func $gc/_dummy/__ref_collect (; 23 ;) (type $FUNCSIG$v)
|
||||
(func $gc/_dummy/__ref_collect (; 27 ;) (type $FUNCSIG$v)
|
||||
i32.const 272
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
@ -1163,10 +1189,10 @@
|
||||
i32.add
|
||||
global.set $gc/_dummy/collect_count
|
||||
)
|
||||
(func $~lib/gc/gc.collect (; 24 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/gc/gc.collect (; 28 ;) (type $FUNCSIG$v)
|
||||
call $gc/_dummy/__ref_collect
|
||||
)
|
||||
(func $gc/main (; 25 ;) (type $FUNCSIG$v)
|
||||
(func $gc/main (; 29 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -1329,7 +1355,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 26 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 30 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
i32.const 7
|
||||
i32.add
|
||||
@ -1344,6 +1370,6 @@
|
||||
call $~lib/set/Set<usize>#constructor
|
||||
global.set $~lib/gc/GC_ROOT
|
||||
)
|
||||
(func $null (; 27 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 31 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
(module
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
@ -14,8 +15,8 @@
|
||||
(data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r")
|
||||
(data (i32.const 96) "\02\00\00\00&")
|
||||
(data (i32.const 112) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 3 funcref)
|
||||
(elem (i32.const 0) $null $gc/global-assign/Ref~iterate $gc/global-assign/Ref~iterate)
|
||||
(global $gc/_dummy/register_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_ref (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/link_count (mut i32) (i32.const 0))
|
||||
@ -112,7 +113,10 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $gc/global-assign/Ref~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 72
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -129,7 +133,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/register_ref
|
||||
)
|
||||
(func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 152
|
||||
@ -164,7 +168,7 @@
|
||||
call $gc/_dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $start:gc/global-assign (; 6 ;) (type $FUNCSIG$v)
|
||||
(func $start:gc/global-assign (; 7 ;) (type $FUNCSIG$v)
|
||||
i32.const 152
|
||||
global.set $~lib/allocator/arena/startOffset
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
@ -236,7 +240,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $gc/global-assign/main (; 7 ;) (type $FUNCSIG$v)
|
||||
(func $gc/global-assign/main (; 8 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -245,7 +249,7 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $null (; 8 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 9 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
(module
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
@ -11,8 +12,8 @@
|
||||
(data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
|
||||
(data (i32.const 56) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00")
|
||||
(data (i32.const 96) "\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00a\00s\00s\00i\00g\00n\00.\00t\00s\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 3 funcref)
|
||||
(elem (i32.const 0) $null $gc/global-assign/Ref~iterate $~lib/string/String~iterate)
|
||||
(global $gc/_dummy/collect_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_ref (mut i32) (i32.const 0))
|
||||
@ -154,7 +155,12 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $gc/global-assign/Ref~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
)
|
||||
(func $~lib/string/String~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 72
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -171,7 +177,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/register_ref
|
||||
)
|
||||
(func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -209,7 +215,7 @@
|
||||
call $gc/_dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $gc/global-assign/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $gc/global-assign/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@ -221,7 +227,7 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $start:gc/global-assign (; 9 ;) (type $FUNCSIG$v)
|
||||
(func $start:gc/global-assign (; 11 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
i32.const 7
|
||||
i32.add
|
||||
@ -313,7 +319,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $gc/global-assign/main (; 10 ;) (type $FUNCSIG$v)
|
||||
(func $gc/global-assign/main (; 12 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -322,9 +328,9 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $start (; 11 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 13 ;) (type $FUNCSIG$v)
|
||||
call $start:gc/global-assign
|
||||
)
|
||||
(func $null (; 12 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 14 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
(module
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
@ -14,8 +15,8 @@
|
||||
(data (i32.const 72) "g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r")
|
||||
(data (i32.const 96) "\02\00\00\00\"")
|
||||
(data (i32.const 112) "g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 3 funcref)
|
||||
(elem (i32.const 0) $null $gc/global-init/Ref~iterate $gc/global-init/Ref~iterate)
|
||||
(global $gc/_dummy/register_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_ref (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/link_count (mut i32) (i32.const 0))
|
||||
@ -111,7 +112,10 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $gc/global-init/Ref~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 72
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -128,7 +132,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/register_ref
|
||||
)
|
||||
(func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 148
|
||||
@ -163,7 +167,7 @@
|
||||
call $gc/_dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $start:gc/global-init (; 6 ;) (type $FUNCSIG$v)
|
||||
(func $start:gc/global-init (; 7 ;) (type $FUNCSIG$v)
|
||||
i32.const 152
|
||||
global.set $~lib/allocator/arena/startOffset
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
@ -233,7 +237,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $gc/global-init/main (; 7 ;) (type $FUNCSIG$v)
|
||||
(func $gc/global-init/main (; 8 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -242,7 +246,7 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $null (; 8 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 9 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -1,5 +1,6 @@
|
||||
(module
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
@ -11,8 +12,8 @@
|
||||
(data (i32.const 8) "\02\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
|
||||
(data (i32.const 56) "\02\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00g\00c\00.\00r\00e\00g\00i\00s\00t\00e\00r\00")
|
||||
(data (i32.const 96) "\02\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00g\00c\00/\00g\00l\00o\00b\00a\00l\00-\00i\00n\00i\00t\00.\00t\00s\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 3 funcref)
|
||||
(elem (i32.const 0) $null $gc/global-init/Ref~iterate $~lib/string/String~iterate)
|
||||
(global $gc/_dummy/collect_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_count (mut i32) (i32.const 0))
|
||||
(global $gc/_dummy/register_ref (mut i32) (i32.const 0))
|
||||
@ -153,7 +154,12 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $gc/global-init/Ref~iterate (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
)
|
||||
(func $~lib/string/String~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $gc/_dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 72
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -170,7 +176,7 @@
|
||||
local.get $0
|
||||
global.set $gc/_dummy/register_ref
|
||||
)
|
||||
(func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -208,7 +214,7 @@
|
||||
call $gc/_dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $gc/global-init/Ref#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $gc/global-init/Ref#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@ -220,7 +226,7 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $start:gc/global-init (; 9 ;) (type $FUNCSIG$v)
|
||||
(func $start:gc/global-init (; 11 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
i32.const 7
|
||||
i32.add
|
||||
@ -310,7 +316,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $gc/global-init/main (; 10 ;) (type $FUNCSIG$v)
|
||||
(func $gc/global-init/main (; 12 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -319,9 +325,9 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $start (; 11 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 13 ;) (type $FUNCSIG$v)
|
||||
call $start:gc/global-init
|
||||
)
|
||||
(func $null (; 12 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 14 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -1,10 +1,10 @@
|
||||
(module
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
@ -36,34 +36,36 @@
|
||||
(data (i32.const 600) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K")
|
||||
(data (i32.const 640) "\01\00\00\00,")
|
||||
(data (i32.const 656) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00i\00t\00e\00r\00a\00t\00e")
|
||||
(data (i32.const 704) "\01\00\00\00*")
|
||||
(data (i32.const 720) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h")
|
||||
(data (i32.const 768) "\01\00\00\00$")
|
||||
(data (i32.const 784) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P")
|
||||
(data (i32.const 824) "\01\00\00\00(")
|
||||
(data (i32.const 840) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e")
|
||||
(data (i32.const 880) "\01\00\00\00,")
|
||||
(data (i32.const 896) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h")
|
||||
(data (i32.const 944) "\01\00\00\00\"")
|
||||
(data (i32.const 960) "#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)")
|
||||
(data (i32.const 1000) "\01\00\00\00\1e")
|
||||
(data (i32.const 1016) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
|
||||
(data (i32.const 1048) "\01\00\00\00\1a")
|
||||
(data (i32.const 1064) "i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r")
|
||||
(data (i32.const 1096) "\01\00\00\00(")
|
||||
(data (i32.const 1112) "#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)")
|
||||
(data (i32.const 1152) "\01\00\00\00&")
|
||||
(data (i32.const 1168) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
|
||||
(data (i32.const 1208) "\01\00\00\00\12")
|
||||
(data (i32.const 1224) "i\00t\00c\00m\00.\00l\00i\00n\00k")
|
||||
(data (i32.const 1248) "\01\00\00\00\1c")
|
||||
(data (i32.const 1264) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f")
|
||||
(data (i32.const 1296) "\01\00\00\00\1a")
|
||||
(data (i32.const 1312) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 1344) "\01\00\00\00\1e")
|
||||
(data (i32.const 1360) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l")
|
||||
(table $0 3 funcref)
|
||||
(elem (i32.const 0) $null $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|0)
|
||||
(data (i32.const 704) "\01\00\00\00\12")
|
||||
(data (i32.const 720) " \00 \00 \00 \00 \00i\00t\00e\00r")
|
||||
(data (i32.const 744) "\01\00\00\00*")
|
||||
(data (i32.const 760) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h")
|
||||
(data (i32.const 808) "\01\00\00\00$")
|
||||
(data (i32.const 824) "i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P")
|
||||
(data (i32.const 864) "\01\00\00\00(")
|
||||
(data (i32.const 880) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e")
|
||||
(data (i32.const 920) "\01\00\00\00,")
|
||||
(data (i32.const 936) "i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h")
|
||||
(data (i32.const 984) "\01\00\00\00\"")
|
||||
(data (i32.const 1000) "#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)")
|
||||
(data (i32.const 1040) "\01\00\00\00\1e")
|
||||
(data (i32.const 1056) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
|
||||
(data (i32.const 1088) "\01\00\00\00\1a")
|
||||
(data (i32.const 1104) "i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r")
|
||||
(data (i32.const 1136) "\01\00\00\00(")
|
||||
(data (i32.const 1152) "#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)")
|
||||
(data (i32.const 1192) "\01\00\00\00&")
|
||||
(data (i32.const 1208) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
|
||||
(data (i32.const 1248) "\01\00\00\00\12")
|
||||
(data (i32.const 1264) "i\00t\00c\00m\00.\00l\00i\00n\00k")
|
||||
(data (i32.const 1288) "\01\00\00\00\1c")
|
||||
(data (i32.const 1304) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f")
|
||||
(data (i32.const 1336) "\01\00\00\00\1a")
|
||||
(data (i32.const 1352) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 1384) "\01\00\00\00\1e")
|
||||
(data (i32.const 1400) "#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l")
|
||||
(table $0 10 funcref)
|
||||
(elem (i32.const 0) $null $~lib/string/String~iterate $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|1 $~lib/collector/itcm/step~anonymous|0 $gc/itcm/trace/Ref~iterate $~lib/string/String~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/array/Array<gc/itcm/trace/Ref | null>~iterate $~lib/array/Array<gc/itcm/trace/Ref | null>~iterate)
|
||||
(global $~lib/collector/itcm/state (mut i32) (i32.const 0))
|
||||
(global $~lib/collector/itcm/white (mut i32) (i32.const 0))
|
||||
(global $~lib/collector/itcm/fromSpace (mut i32) (i32.const 0))
|
||||
@ -71,8 +73,8 @@
|
||||
(global $~lib/collector/itcm/iter (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $gc/itcm/trace/ref (mut i32) (i32.const 0))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $gc/itcm/trace/arr (mut i32) (i32.const 0))
|
||||
(global $~lib/started (mut i32) (i32.const 0))
|
||||
(global $~lib/capabilities i32 (i32.const 2))
|
||||
@ -80,7 +82,10 @@
|
||||
(export "table" (table $0))
|
||||
(export "main" (func $gc/itcm/trace/main))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -142,7 +147,7 @@
|
||||
global.set $~lib/allocator/arena/offset
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#clear (; 3 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#clear (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 208
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -161,7 +166,7 @@
|
||||
local.get $0
|
||||
i32.store offset=12
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#unlink (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#unlink (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 448
|
||||
i32.const 3
|
||||
@ -198,7 +203,7 @@
|
||||
i32.or
|
||||
i32.store offset=8
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#push (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#push (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
i32.const 528
|
||||
i32.const 3
|
||||
@ -242,7 +247,7 @@
|
||||
local.get $1
|
||||
i32.store offset=12
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#makeGray (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#makeGray (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 400
|
||||
i32.const 1
|
||||
local.get $0
|
||||
@ -276,7 +281,7 @@
|
||||
i32.or
|
||||
i32.store offset=8
|
||||
)
|
||||
(func $~lib/collector/itcm/step~anonymous|0 (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/step~anonymous|0 (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
global.get $~lib/collector/itcm/white
|
||||
local.get $0
|
||||
i32.const 16
|
||||
@ -291,7 +296,31 @@
|
||||
call $~lib/collector/itcm/ManagedObject#makeGray
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/step (; 8 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/collector/itcm/step~anonymous|1 (; 9 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 720
|
||||
i32.const 1
|
||||
local.get $0
|
||||
f64.convert_i32_u
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
call $~lib/env/trace
|
||||
global.get $~lib/collector/itcm/white
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.sub
|
||||
local.tee $0
|
||||
i32.load offset=8
|
||||
i32.const 3
|
||||
i32.and
|
||||
i32.eq
|
||||
if
|
||||
local.get $0
|
||||
call $~lib/collector/itcm/ManagedObject#makeGray
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/step (; 10 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
block $break|0
|
||||
@ -385,14 +414,14 @@
|
||||
local.tee $0
|
||||
if
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
end
|
||||
global.get $gc/itcm/trace/arr
|
||||
local.tee $0
|
||||
if
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
end
|
||||
i32.const 2
|
||||
@ -438,14 +467,13 @@
|
||||
i32.and
|
||||
i32.or
|
||||
i32.store offset=8
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $1
|
||||
i32.const 3
|
||||
local.get $0
|
||||
i32.load
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
call_indirect (type $FUNCSIG$vii)
|
||||
else
|
||||
i32.const 720
|
||||
i32.const 760
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -457,14 +485,14 @@
|
||||
local.tee $0
|
||||
if
|
||||
local.get $0
|
||||
i32.const 2
|
||||
i32.const 4
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
end
|
||||
global.get $gc/itcm/trace/arr
|
||||
local.tee $0
|
||||
if
|
||||
local.get $0
|
||||
i32.const 2
|
||||
i32.const 4
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
end
|
||||
global.get $~lib/collector/itcm/toSpace
|
||||
@ -490,7 +518,7 @@
|
||||
global.set $~lib/collector/itcm/iter
|
||||
i32.const 3
|
||||
global.set $~lib/collector/itcm/state
|
||||
i32.const 784
|
||||
i32.const 824
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -507,7 +535,7 @@
|
||||
global.get $~lib/collector/itcm/toSpace
|
||||
i32.ne
|
||||
if
|
||||
i32.const 840
|
||||
i32.const 880
|
||||
i32.const 1
|
||||
local.get $0
|
||||
i32.const 16
|
||||
@ -524,7 +552,7 @@
|
||||
i32.and
|
||||
global.set $~lib/collector/itcm/iter
|
||||
else
|
||||
i32.const 896
|
||||
i32.const 936
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -547,7 +575,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_collect (; 9 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/collector/itcm/__ref_collect (; 11 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 72
|
||||
i32.const 0
|
||||
@ -581,7 +609,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
@ -608,8 +636,21 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_register (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 1064
|
||||
(func $gc/itcm/trace/Ref~iterate (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.tee $0
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $gc/itcm/trace/Ref~iterate
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_register (; 14 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
i32.const 1104
|
||||
i32.const 1
|
||||
local.get $0
|
||||
f64.convert_i32_u
|
||||
@ -634,14 +675,14 @@
|
||||
local.get $0
|
||||
call $~lib/collector/itcm/ManagedObjectList#push
|
||||
)
|
||||
(func $~lib/runtime/register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.const 1392
|
||||
i32.const 1432
|
||||
i32.le_u
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1016
|
||||
i32.const 1056
|
||||
i32.const 149
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
@ -656,7 +697,7 @@
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1016
|
||||
i32.const 1056
|
||||
i32.const 151
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
@ -669,7 +710,7 @@
|
||||
call $~lib/collector/itcm/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/memory/memory.fill (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $1
|
||||
@ -880,9 +921,19 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_link (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/runtime/ArrayBufferView~iterate (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.tee $0
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_link (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
i32.const 1224
|
||||
i32.const 1264
|
||||
i32.const 2
|
||||
local.get $0
|
||||
f64.convert_i32_u
|
||||
@ -920,7 +971,7 @@
|
||||
call $~lib/collector/itcm/ManagedObject#makeGray
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/ArrayBufferView#constructor (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/ArrayBufferView#constructor (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
i32.const 4
|
||||
call $~lib/runtime/allocate
|
||||
@ -928,7 +979,7 @@
|
||||
i32.const 4
|
||||
call $~lib/memory/memory.fill
|
||||
local.get $1
|
||||
i32.const 3
|
||||
i32.const 6
|
||||
call $~lib/runtime/register
|
||||
local.set $1
|
||||
local.get $0
|
||||
@ -936,7 +987,7 @@
|
||||
if
|
||||
i32.const 12
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 4
|
||||
i32.const 7
|
||||
call $~lib/runtime/register
|
||||
local.set $0
|
||||
end
|
||||
@ -969,7 +1020,49 @@
|
||||
i32.store offset=8
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>~iterate (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.tee $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.add
|
||||
local.set $3
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $2
|
||||
i32.load
|
||||
local.tee $0
|
||||
if
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $gc/itcm/trace/Ref~iterate
|
||||
end
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $2
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1816,7 +1909,7 @@
|
||||
i32.store8
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
@ -2010,7 +2103,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/reallocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/reallocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -2034,7 +2127,7 @@
|
||||
i32.shl
|
||||
i32.const 0
|
||||
local.get $0
|
||||
i32.const 1392
|
||||
i32.const 1432
|
||||
i32.gt_u
|
||||
select
|
||||
i32.const 32
|
||||
@ -2072,11 +2165,11 @@
|
||||
i32.eq
|
||||
if
|
||||
local.get $0
|
||||
i32.const 1392
|
||||
i32.const 1432
|
||||
i32.le_u
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1016
|
||||
i32.const 1056
|
||||
i32.const 113
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
@ -2105,7 +2198,7 @@
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/ensureCapacity (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/array/ensureCapacity (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
i32.const 1
|
||||
@ -2145,7 +2238,7 @@
|
||||
i32.store offset=8
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__unchecked_set (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__unchecked_set (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
@ -2165,7 +2258,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__set (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__set (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
@ -2184,14 +2277,14 @@
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $start:gc/itcm/trace (; 22 ;) (type $FUNCSIG$v)
|
||||
(func $start:gc/itcm/trace (; 27 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 1392
|
||||
i32.const 1432
|
||||
global.set $~lib/allocator/arena/startOffset
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
global.set $~lib/allocator/arena/offset
|
||||
call $~lib/collector/itcm/__ref_collect
|
||||
i32.const 960
|
||||
i32.const 1000
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -2199,12 +2292,16 @@
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
call $~lib/env/trace
|
||||
i32.const 0
|
||||
i32.const 4
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 2
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $0
|
||||
global.set $gc/itcm/trace/ref
|
||||
i32.const 1112
|
||||
i32.const 1152
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -2214,7 +2311,7 @@
|
||||
call $~lib/env/trace
|
||||
i32.const 16
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 5
|
||||
i32.const 8
|
||||
call $~lib/runtime/register
|
||||
call $~lib/runtime/ArrayBufferView#constructor
|
||||
local.tee $0
|
||||
@ -2225,7 +2322,7 @@
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
global.set $gc/itcm/trace/arr
|
||||
i32.const 1264
|
||||
i32.const 1304
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -2236,7 +2333,7 @@
|
||||
global.get $gc/itcm/trace/arr
|
||||
global.get $gc/itcm/trace/ref
|
||||
call $~lib/array/Array<gc/itcm/trace/Ref | null>#__set
|
||||
i32.const 1360
|
||||
i32.const 1400
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -2247,8 +2344,9 @@
|
||||
global.get $gc/itcm/trace/arr
|
||||
i32.const 0
|
||||
call $~lib/array/Array<gc/itcm/trace/Ref | null>#__set
|
||||
call $~lib/collector/itcm/__ref_collect
|
||||
)
|
||||
(func $gc/itcm/trace/main (; 23 ;) (type $FUNCSIG$v)
|
||||
(func $gc/itcm/trace/main (; 28 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -2257,7 +2355,7 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $null (; 24 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 29 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -10,7 +10,9 @@ assert(gc.implemented);
|
||||
|
||||
gc.collect(); // trigger init
|
||||
|
||||
class Ref {}
|
||||
class Ref {
|
||||
inner: Ref;
|
||||
}
|
||||
|
||||
trace("# ref = new Ref()");
|
||||
var ref = new Ref();
|
||||
@ -21,6 +23,6 @@ arr[0] = ref;
|
||||
trace("# arr[0] = null");
|
||||
arr[0] = null;
|
||||
|
||||
// TODO...
|
||||
gc.collect(); // FIXME: should do nothing yet, but collects arr.data ?
|
||||
|
||||
@start export function main(): void {}
|
||||
|
@ -1,10 +1,10 @@
|
||||
(module
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
@ -24,21 +24,22 @@
|
||||
(data (i32.const 512) "\01\00\00\006\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00p\00u\00s\00h\00 \00[\00p\00r\00e\00v\00,\00 \00r\00e\00f\00,\00 \00n\00e\00x\00t\00]\00")
|
||||
(data (i32.const 584) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00M\00A\00R\00K\00")
|
||||
(data (i32.const 640) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00i\00t\00e\00r\00a\00t\00e\00")
|
||||
(data (i32.const 704) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h\00")
|
||||
(data (i32.const 768) "\01\00\00\00$\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P\00")
|
||||
(data (i32.const 824) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e\00")
|
||||
(data (i32.const 880) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h\00")
|
||||
(data (i32.const 944) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00")
|
||||
(data (i32.const 1000) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
|
||||
(data (i32.const 1048) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r\00")
|
||||
(data (i32.const 1096) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)\00")
|
||||
(data (i32.const 1152) "\01\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
|
||||
(data (i32.const 1208) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00l\00i\00n\00k\00")
|
||||
(data (i32.const 1248) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f\00")
|
||||
(data (i32.const 1296) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 1344) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l\00")
|
||||
(table $0 3 funcref)
|
||||
(elem (i32.const 0) $null $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|1)
|
||||
(data (i32.const 704) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00 \00 \00 \00 \00 \00i\00t\00e\00r\00")
|
||||
(data (i32.const 744) "\01\00\00\00*\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00M\00A\00R\00K\00 \00f\00i\00n\00i\00s\00h\00")
|
||||
(data (i32.const 808) "\01\00\00\00$\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00a\00t\00e\00 \00=\00 \00S\00W\00E\00E\00P\00")
|
||||
(data (i32.const 864) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00r\00e\00e\00")
|
||||
(data (i32.const 920) "\01\00\00\00,\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00~\00s\00t\00e\00p\00/\00S\00W\00E\00E\00P\00 \00f\00i\00n\00i\00s\00h\00")
|
||||
(data (i32.const 984) "\01\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00#\00 \00r\00e\00f\00 \00=\00 \00n\00e\00w\00 \00R\00e\00f\00(\00)\00")
|
||||
(data (i32.const 1040) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
|
||||
(data (i32.const 1088) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00r\00e\00g\00i\00s\00t\00e\00r\00")
|
||||
(data (i32.const 1136) "\01\00\00\00(\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00 \00=\00 \00n\00e\00w\00 \00A\00r\00r\00a\00y\00(\001\00)\00")
|
||||
(data (i32.const 1192) "\01\00\00\00&\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00")
|
||||
(data (i32.const 1248) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00i\00t\00c\00m\00.\00l\00i\00n\00k\00")
|
||||
(data (i32.const 1288) "\01\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00r\00e\00f\00")
|
||||
(data (i32.const 1336) "\01\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 1384) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00#\00 \00a\00r\00r\00[\000\00]\00 \00=\00 \00n\00u\00l\00l\00")
|
||||
(table $0 10 funcref)
|
||||
(elem (i32.const 0) $null $~lib/string/String~iterate $~lib/collector/itcm/step~anonymous|0 $~lib/collector/itcm/step~anonymous|1 $~lib/collector/itcm/step~anonymous|2 $gc/itcm/trace/Ref~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/runtime/ArrayBufferView~iterate $~lib/array/Array<gc/itcm/trace/Ref | null>~iterate $~lib/array/Array<gc/itcm/trace/Ref | null>~iterate)
|
||||
(global $gc/itcm/trace/GC_TRACE i32 (i32.const 1))
|
||||
(global $~lib/runtime/HEADER_SIZE i32 (i32.const 16))
|
||||
(global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049))
|
||||
@ -50,19 +51,22 @@
|
||||
(global $~lib/gc/gc.implemented i32 (i32.const 1))
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $~lib/ASC_NO_ASSERT i32 (i32.const 0))
|
||||
(global $gc/itcm/trace/ref (mut i32) (i32.const 0))
|
||||
(global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $gc/itcm/trace/arr (mut i32) (i32.const 0))
|
||||
(global $~lib/started (mut i32) (i32.const 0))
|
||||
(global $~lib/memory/HEAP_BASE i32 (i32.const 1392))
|
||||
(global $~lib/memory/HEAP_BASE i32 (i32.const 1432))
|
||||
(global $~lib/capabilities i32 (i32.const 2))
|
||||
(export "memory" (memory $0))
|
||||
(export "table" (table $0))
|
||||
(export "main" (func $gc/itcm/trace/main))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -141,12 +145,12 @@
|
||||
global.set $~lib/allocator/arena/offset
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/memory/memory.allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/memory/memory.allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
call $~lib/allocator/arena/__mem_allocate
|
||||
return
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#clear (; 4 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#clear (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 208
|
||||
i32.const 1
|
||||
@ -170,13 +174,13 @@
|
||||
local.get $0
|
||||
i32.store offset=12
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#get:color (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#get:color (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.const 3
|
||||
i32.and
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#get:next (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#get:next (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.const 3
|
||||
@ -184,7 +188,7 @@
|
||||
i32.xor
|
||||
i32.and
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#set:next (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#set:next (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
@ -194,7 +198,7 @@
|
||||
i32.or
|
||||
i32.store offset=8
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#unlink (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#unlink (; 9 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -240,7 +244,7 @@
|
||||
local.get $1
|
||||
call $~lib/collector/itcm/ManagedObject#set:next
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#push (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/collector/itcm/ManagedObjectList#push (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -288,7 +292,7 @@
|
||||
local.get $1
|
||||
i32.store offset=12
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#makeGray (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#makeGray (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 400
|
||||
i32.const 1
|
||||
@ -329,7 +333,7 @@
|
||||
i32.or
|
||||
i32.store offset=8
|
||||
)
|
||||
(func $~lib/collector/itcm/step~anonymous|0 (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/step~anonymous|0 (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/collector/itcm/refToObj|inlined.0 (result i32)
|
||||
@ -349,7 +353,7 @@
|
||||
call $~lib/collector/itcm/ManagedObject#makeGray
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#set:color (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/collector/itcm/ManagedObject#set:color (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
@ -361,13 +365,18 @@
|
||||
i32.or
|
||||
i32.store offset=8
|
||||
)
|
||||
(func $~lib/collector/itcm/ManagedObject#get:hookFn (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
)
|
||||
(func $~lib/collector/itcm/step~anonymous|1 (; 14 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
i32.const 720
|
||||
i32.const 1
|
||||
local.get $0
|
||||
f64.convert_i32_u
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
call $~lib/env/trace
|
||||
block $~lib/collector/itcm/refToObj|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $1
|
||||
@ -385,14 +394,34 @@
|
||||
call $~lib/collector/itcm/ManagedObject#makeGray
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_free (; 15 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/itcm/step~anonymous|2 (; 15 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/collector/itcm/refToObj|inlined.2 (result i32)
|
||||
local.get $0
|
||||
local.set $1
|
||||
local.get $1
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.sub
|
||||
end
|
||||
local.set $2
|
||||
local.get $2
|
||||
call $~lib/collector/itcm/ManagedObject#get:color
|
||||
global.get $~lib/collector/itcm/white
|
||||
i32.eq
|
||||
if
|
||||
local.get $2
|
||||
call $~lib/collector/itcm/ManagedObject#makeGray
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_free (; 16 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/memory/memory.free (; 16 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/memory/memory.free (; 17 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
call $~lib/allocator/arena/__mem_free
|
||||
)
|
||||
(func $~lib/collector/itcm/step (; 17 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/collector/itcm/step (; 18 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
block $break|0
|
||||
@ -504,7 +533,7 @@
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
call $~lib/env/trace
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
call $~iterateRoots
|
||||
i32.const 2
|
||||
global.set $~lib/collector/itcm/state
|
||||
@ -550,8 +579,6 @@
|
||||
global.get $~lib/collector/itcm/white
|
||||
i32.eqz
|
||||
call $~lib/collector/itcm/ManagedObject#set:color
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
block $~lib/collector/itcm/objToRef|inlined.11 (result i32)
|
||||
local.get $0
|
||||
local.set $1
|
||||
@ -559,11 +586,12 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
end
|
||||
i32.const 3
|
||||
local.get $0
|
||||
call $~lib/collector/itcm/ManagedObject#get:hookFn
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
i32.load
|
||||
call_indirect (type $FUNCSIG$vii)
|
||||
else
|
||||
i32.const 720
|
||||
i32.const 760
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -571,7 +599,7 @@
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
call $~lib/env/trace
|
||||
i32.const 2
|
||||
i32.const 4
|
||||
call $~iterateRoots
|
||||
global.get $~lib/collector/itcm/iter
|
||||
call $~lib/collector/itcm/ManagedObject#get:next
|
||||
@ -594,7 +622,7 @@
|
||||
global.set $~lib/collector/itcm/iter
|
||||
i32.const 3
|
||||
global.set $~lib/collector/itcm/state
|
||||
i32.const 784
|
||||
i32.const 824
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -616,7 +644,7 @@
|
||||
global.get $~lib/collector/itcm/toSpace
|
||||
i32.ne
|
||||
if
|
||||
i32.const 840
|
||||
i32.const 880
|
||||
i32.const 1
|
||||
block $~lib/collector/itcm/objToRef|inlined.12 (result i32)
|
||||
local.get $0
|
||||
@ -642,7 +670,7 @@
|
||||
call $~lib/memory/memory.free
|
||||
end
|
||||
else
|
||||
i32.const 896
|
||||
i32.const 936
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -669,7 +697,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_collect (; 18 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/collector/itcm/__ref_collect (; 19 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 72
|
||||
i32.const 0
|
||||
@ -709,10 +737,10 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/gc/gc.collect (; 19 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/gc/gc.collect (; 20 ;) (type $FUNCSIG$v)
|
||||
call $~lib/collector/itcm/__ref_collect
|
||||
)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
local.get $0
|
||||
@ -724,7 +752,7 @@
|
||||
i32.sub
|
||||
i32.shl
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
call $~lib/runtime/ADJUSTOBLOCK
|
||||
@ -746,10 +774,24 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_register (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $gc/itcm/trace/Ref~iterate (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.tee $2
|
||||
if
|
||||
local.get $2
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $2
|
||||
local.get $1
|
||||
call $gc/itcm/trace/Ref~iterate
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_register (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
i32.const 1064
|
||||
i32.const 1104
|
||||
i32.const 1
|
||||
local.get $0
|
||||
f64.convert_i32_u
|
||||
@ -759,7 +801,7 @@
|
||||
f64.const 0
|
||||
call $~lib/env/trace
|
||||
call $~lib/collector/itcm/step
|
||||
block $~lib/collector/itcm/refToObj|inlined.2 (result i32)
|
||||
block $~lib/collector/itcm/refToObj|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $1
|
||||
local.get $1
|
||||
@ -774,7 +816,7 @@
|
||||
local.get $2
|
||||
call $~lib/collector/itcm/ManagedObjectList#push
|
||||
)
|
||||
(func $~lib/runtime/register (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -782,7 +824,7 @@
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1016
|
||||
i32.const 1056
|
||||
i32.const 149
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
@ -799,7 +841,7 @@
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1016
|
||||
i32.const 1056
|
||||
i32.const 151
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
@ -812,19 +854,22 @@
|
||||
call $~lib/collector/itcm/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $gc/itcm/trace/Ref#constructor (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $gc/itcm/trace/Ref#constructor (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 4
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 2
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.fill (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1081,7 +1126,10 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer~iterate (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $1
|
||||
@ -1089,7 +1137,7 @@
|
||||
i32.gt_u
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1168
|
||||
i32.const 1208
|
||||
i32.const 25
|
||||
i32.const 43
|
||||
call $~lib/env/abort
|
||||
@ -1110,14 +1158,28 @@
|
||||
local.get $3
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 3
|
||||
i32.const 6
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_link (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/runtime/ArrayBufferView~iterate (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.tee $2
|
||||
if
|
||||
local.get $2
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $2
|
||||
local.get $1
|
||||
call $~lib/arraybuffer/ArrayBuffer~iterate
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/itcm/__ref_link (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
i32.const 1224
|
||||
i32.const 1264
|
||||
i32.const 2
|
||||
local.get $0
|
||||
f64.convert_i32_u
|
||||
@ -1127,7 +1189,7 @@
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
call $~lib/env/trace
|
||||
block $~lib/collector/itcm/refToObj|inlined.3 (result i32)
|
||||
block $~lib/collector/itcm/refToObj|inlined.4 (result i32)
|
||||
local.get $1
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -1142,7 +1204,7 @@
|
||||
i32.eq
|
||||
local.tee $2
|
||||
if (result i32)
|
||||
block $~lib/collector/itcm/refToObj|inlined.5 (result i32)
|
||||
block $~lib/collector/itcm/refToObj|inlined.6 (result i32)
|
||||
local.get $0
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -1160,7 +1222,7 @@
|
||||
call $~lib/collector/itcm/ManagedObject#makeGray
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/ArrayBufferView#constructor (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/runtime/ArrayBufferView#constructor (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1172,7 +1234,7 @@
|
||||
i32.gt_u
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1016
|
||||
i32.const 1056
|
||||
i32.const 232
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
@ -1191,7 +1253,7 @@
|
||||
if
|
||||
i32.const 12
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 4
|
||||
i32.const 7
|
||||
call $~lib/runtime/register
|
||||
local.set $0
|
||||
end
|
||||
@ -1231,14 +1293,63 @@
|
||||
i32.store offset=8
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#constructor (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>~iterate (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.add
|
||||
local.set $3
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.lt_u
|
||||
if
|
||||
block
|
||||
local.get $2
|
||||
i32.load
|
||||
local.set $4
|
||||
local.get $4
|
||||
if
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $4
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $4
|
||||
local.get $1
|
||||
call $gc/itcm/trace/Ref~iterate
|
||||
end
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $2
|
||||
end
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#constructor (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
if (result i32)
|
||||
local.get $0
|
||||
else
|
||||
i32.const 16
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 5
|
||||
i32.const 8
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
local.get $1
|
||||
@ -1253,7 +1364,7 @@
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/util/memory/memcpy (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2454,7 +2565,7 @@
|
||||
i32.store8
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2685,7 +2796,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/reallocate (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/reallocate (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2755,7 +2866,7 @@
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1016
|
||||
i32.const 1056
|
||||
i32.const 113
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
@ -2789,7 +2900,7 @@
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/ensureCapacity (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/ensureCapacity (; 38 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2810,7 +2921,7 @@
|
||||
i32.gt_u
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1312
|
||||
i32.const 1352
|
||||
i32.const 13
|
||||
i32.const 64
|
||||
call $~lib/env/abort
|
||||
@ -2864,7 +2975,7 @@
|
||||
i32.store offset=8
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__unchecked_set (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__unchecked_set (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $0
|
||||
@ -2894,7 +3005,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__set (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/Array<gc/itcm/trace/Ref | null>#__set (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
@ -2920,7 +3031,7 @@
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $start:gc/itcm/trace (; 36 ;) (type $FUNCSIG$v)
|
||||
(func $start:gc/itcm/trace (; 41 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.const 16
|
||||
i32.eq
|
||||
@ -2954,7 +3065,7 @@
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
global.set $~lib/allocator/arena/offset
|
||||
call $~lib/gc/gc.collect
|
||||
i32.const 960
|
||||
i32.const 1000
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -2965,7 +3076,7 @@
|
||||
i32.const 0
|
||||
call $gc/itcm/trace/Ref#constructor
|
||||
global.set $gc/itcm/trace/ref
|
||||
i32.const 1112
|
||||
i32.const 1152
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -2977,7 +3088,7 @@
|
||||
i32.const 1
|
||||
call $~lib/array/Array<gc/itcm/trace/Ref | null>#constructor
|
||||
global.set $gc/itcm/trace/arr
|
||||
i32.const 1264
|
||||
i32.const 1304
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -2989,7 +3100,7 @@
|
||||
i32.const 0
|
||||
global.get $gc/itcm/trace/ref
|
||||
call $~lib/array/Array<gc/itcm/trace/Ref | null>#__set
|
||||
i32.const 1360
|
||||
i32.const 1400
|
||||
i32.const 0
|
||||
f64.const 0
|
||||
f64.const 0
|
||||
@ -3001,8 +3112,9 @@
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
call $~lib/array/Array<gc/itcm/trace/Ref | null>#__set
|
||||
call $~lib/gc/gc.collect
|
||||
)
|
||||
(func $gc/itcm/trace/main (; 37 ;) (type $FUNCSIG$v)
|
||||
(func $gc/itcm/trace/main (; 42 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -3011,12 +3123,12 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $start (; 38 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 43 ;) (type $FUNCSIG$v)
|
||||
call $start:gc/itcm/trace
|
||||
)
|
||||
(func $null (; 39 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 44 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
(func $~iterateRoots (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~iterateRoots (; 45 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
global.get $gc/itcm/trace/ref
|
||||
local.tee $1
|
||||
|
@ -1,4 +1,6 @@
|
||||
(module
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
@ -10,21 +12,22 @@
|
||||
(data (i32.const 25) "\01\02")
|
||||
(data (i32.const 32) "\02\00\00\00\10")
|
||||
(data (i32.const 48) "\18\00\00\00\18\00\00\00\03\00\00\00\03")
|
||||
(data (i32.const 64) "\03\00\00\00(")
|
||||
(data (i32.const 64) "\04\00\00\00(")
|
||||
(data (i32.const 80) "s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s")
|
||||
(data (i32.const 120) "\03\00\00\00\1a")
|
||||
(data (i32.const 120) "\04\00\00\00\1a")
|
||||
(data (i32.const 136) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 168) "\01\00\00\00\0c")
|
||||
(data (i32.const 188) "\01\00\00\00\02")
|
||||
(data (i32.const 200) "\04\00\00\00\10")
|
||||
(data (i32.const 200) "\05\00\00\00\10")
|
||||
(data (i32.const 216) "\b8\00\00\00\b8\00\00\00\0c\00\00\00\03")
|
||||
(data (i32.const 232) "\01")
|
||||
(data (i32.const 248) "\04\00\00\00\10")
|
||||
(data (i32.const 248) "\05\00\00\00\10")
|
||||
(data (i32.const 264) "\f8\00\00\00\f8")
|
||||
(data (i32.const 280) "\03\00\00\00\1e")
|
||||
(data (i32.const 280) "\04\00\00\00\1e")
|
||||
(data (i32.const 296) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 13 funcref)
|
||||
(elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array<i8>~iterate $~lib/array/Array<i8>~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array<i8>~iterate $~lib/array/Array<i8>~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array<std/array-literal/Ref>~iterate $~lib/array/Array<std/array-literal/Ref>~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array<std/array-literal/Ref>~iterate $~lib/array/Array<std/array-literal/Ref>~iterate)
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264))
|
||||
(global $std/array-literal/i (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
@ -38,7 +41,18 @@
|
||||
(export "table" (table $0))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(start $start)
|
||||
(func $~lib/array/Array<i8>#__get (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/array/Array<i8>~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/array/Array<i8>#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
@ -57,7 +71,7 @@
|
||||
i32.add
|
||||
i32.load8_s
|
||||
)
|
||||
(func $~lib/array/Array<i32>#__get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i32>#__get (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
@ -80,7 +94,7 @@
|
||||
i32.add
|
||||
i32.load
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -142,7 +156,7 @@
|
||||
global.set $~lib/allocator/arena/offset
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
@ -169,7 +183,7 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.const 328
|
||||
@ -202,7 +216,7 @@
|
||||
i32.store
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/runtime/makeArray (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/makeArray (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
i32.const 16
|
||||
@ -237,19 +251,56 @@
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
)
|
||||
(func $std/array-literal/Ref#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 0
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $std/array-literal/RefWithCtor#constructor (; 8 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $std/array-literal/Ref#constructor (; 9 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 0
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 7
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $start:std/array-literal (; 9 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/array/Array<std/array-literal/Ref>~iterate (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.tee $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.add
|
||||
local.set $0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
local.get $0
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $2
|
||||
i32.load
|
||||
local.set $3
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $3
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $2
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $std/array-literal/RefWithCtor#constructor (; 11 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 0
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 10
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $start:std/array-literal (; 12 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -443,7 +494,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
global.set $std/array-literal/i
|
||||
i32.const 4
|
||||
i32.const 5
|
||||
i32.const 2
|
||||
call $~lib/runtime/makeArray
|
||||
local.tee $2
|
||||
@ -519,7 +570,7 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 6
|
||||
i32.const 8
|
||||
i32.const 2
|
||||
call $~lib/runtime/makeArray
|
||||
local.tee $2
|
||||
@ -547,7 +598,7 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 8
|
||||
i32.const 11
|
||||
i32.const 2
|
||||
call $~lib/runtime/makeArray
|
||||
local.tee $2
|
||||
@ -576,10 +627,10 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 10 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 13 ;) (type $FUNCSIG$v)
|
||||
call $start:std/array-literal
|
||||
)
|
||||
(func $null (; 11 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 14 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -1,28 +1,29 @@
|
||||
(module
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\01\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\01\02")
|
||||
(data (i32.const 32) "\02\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\18\00\00\00\03\00\00\00\03\00\00\00")
|
||||
(data (i32.const 64) "\03\00\00\00(\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00")
|
||||
(data (i32.const 120) "\03\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 64) "\04\00\00\00(\00\00\00\00\00\00\00\00\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00")
|
||||
(data (i32.const 120) "\04\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
|
||||
(data (i32.const 168) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00")
|
||||
(data (i32.const 200) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\00\00\00\b8\00\00\00\0c\00\00\00\03\00\00\00")
|
||||
(data (i32.const 200) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\b8\00\00\00\b8\00\00\00\0c\00\00\00\03\00\00\00")
|
||||
(data (i32.const 232) "\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
|
||||
(data (i32.const 248) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00")
|
||||
(data (i32.const 280) "\03\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(global $std/array-literal/staticArrayI8 i32 (i32.const 48))
|
||||
(data (i32.const 248) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\f8\00\00\00\f8\00\00\00\00\00\00\00\00\00\00\00")
|
||||
(data (i32.const 280) "\04\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
|
||||
(table $0 13 funcref)
|
||||
(elem (i32.const 0) $null $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array<i8>~iterate $~lib/array/Array<i8>~iterate $~lib/string/String~iterate $~lib/array/Array<i32>~iterate $~lib/array/Array<i32>~iterate $std/array-literal/Ref~iterate $~lib/array/Array<std/array-literal/Ref>~iterate $~lib/array/Array<std/array-literal/Ref>~iterate $std/array-literal/RefWithCtor~iterate $~lib/array/Array<std/array-literal/RefWithCtor>~iterate $~lib/array/Array<std/array-literal/RefWithCtor>~iterate)
|
||||
(global $~lib/runtime/HEADER_SIZE i32 (i32.const 16))
|
||||
(global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $std/array-literal/staticArrayI8 i32 (i32.const 48))
|
||||
(global $std/array-literal/staticArrayI32 i32 (i32.const 216))
|
||||
(global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 264))
|
||||
(global $std/array-literal/i (mut i32) (i32.const 0))
|
||||
@ -39,11 +40,25 @@
|
||||
(export "table" (table $0))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(start $start)
|
||||
(func $~lib/array/Array<i8>#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $~lib/array/Array<i8>~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/array/Array<i8>#get:length (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
)
|
||||
(func $~lib/array/Array<i8>#__unchecked_get (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $~lib/array/Array<i8>#__unchecked_get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
@ -52,7 +67,7 @@
|
||||
i32.add
|
||||
i32.load8_s
|
||||
)
|
||||
(func $~lib/array/Array<i8>#__get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i8>#__get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
@ -71,11 +86,19 @@
|
||||
local.get $1
|
||||
call $~lib/array/Array<i8>#__unchecked_get
|
||||
)
|
||||
(func $~lib/array/Array<i32>#get:length (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<i32>~iterate (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/array/Array<i32>#get:length (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
)
|
||||
(func $~lib/array/Array<i32>#__unchecked_get (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i32>#__unchecked_get (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
@ -84,7 +107,7 @@
|
||||
i32.add
|
||||
i32.load
|
||||
)
|
||||
(func $~lib/array/Array<i32>#__get (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i32>#__get (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
@ -103,7 +126,7 @@
|
||||
local.get $1
|
||||
call $~lib/array/Array<i32>#__unchecked_get
|
||||
)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
local.get $0
|
||||
@ -115,7 +138,7 @@
|
||||
i32.sub
|
||||
i32.shl
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -194,12 +217,12 @@
|
||||
global.set $~lib/allocator/arena/offset
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/memory/memory.allocate (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/memory/memory.allocate (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
call $~lib/allocator/arena/__mem_allocate
|
||||
return
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
call $~lib/runtime/ADJUSTOBLOCK
|
||||
@ -221,10 +244,10 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/collector/dummy/__ref_register (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/dummy/__ref_register (; 15 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/runtime/register (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -262,13 +285,13 @@
|
||||
call $~lib/collector/dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/collector/dummy/__ref_link (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/collector/dummy/__ref_link (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/collector/dummy/__ref_unlink (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/collector/dummy/__ref_unlink (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1469,7 +1492,7 @@
|
||||
i32.store8
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1700,7 +1723,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/makeArray (; 17 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(func $~lib/runtime/makeArray (; 21 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
@ -1764,23 +1787,9 @@
|
||||
end
|
||||
local.get $4
|
||||
)
|
||||
(func $std/array-literal/Ref#constructor (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
(func $std/array-literal/Ref~iterate (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
)
|
||||
(func $~lib/array/Array<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)
|
||||
(func $std/array-literal/Ref#constructor (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@ -1792,11 +1801,122 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/Array<std/array-literal/RefWithCtor>#get:length (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<std/array-literal/Ref>~iterate (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.add
|
||||
local.set $3
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.lt_u
|
||||
if
|
||||
block
|
||||
local.get $2
|
||||
i32.load
|
||||
local.set $4
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $4
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $4
|
||||
local.get $1
|
||||
call $std/array-literal/Ref~iterate
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $2
|
||||
end
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<std/array-literal/Ref>#get:length (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
)
|
||||
(func $start:std/array-literal (; 22 ;) (type $FUNCSIG$v)
|
||||
(func $std/array-literal/RefWithCtor~iterate (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $std/array-literal/RefWithCtor#constructor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 10
|
||||
call $~lib/runtime/register
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/Array<std/array-literal/RefWithCtor>~iterate (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.add
|
||||
local.set $3
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.lt_u
|
||||
if
|
||||
block
|
||||
local.get $2
|
||||
i32.load
|
||||
local.set $4
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $4
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $4
|
||||
local.get $1
|
||||
call $std/array-literal/RefWithCtor~iterate
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $2
|
||||
end
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<std/array-literal/RefWithCtor>#get:length (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
)
|
||||
(func $start:std/array-literal (; 30 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -2028,7 +2148,7 @@
|
||||
global.set $std/array-literal/i
|
||||
block (result i32)
|
||||
i32.const 3
|
||||
i32.const 4
|
||||
i32.const 5
|
||||
i32.const 2
|
||||
i32.const 0
|
||||
call $~lib/runtime/makeArray
|
||||
@ -2119,7 +2239,7 @@
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 3
|
||||
i32.const 6
|
||||
i32.const 8
|
||||
i32.const 2
|
||||
i32.const 0
|
||||
call $~lib/runtime/makeArray
|
||||
@ -2178,7 +2298,7 @@
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 3
|
||||
i32.const 8
|
||||
i32.const 11
|
||||
i32.const 2
|
||||
i32.const 0
|
||||
call $~lib/runtime/makeArray
|
||||
@ -2236,9 +2356,9 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 23 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 31 ;) (type $FUNCSIG$v)
|
||||
call $start:std/array-literal
|
||||
)
|
||||
(func $null (; 24 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 32 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,11 @@
|
||||
(module
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$iij (func (param i32 i64) (result i32)))
|
||||
(type $FUNCSIG$ij (func (param i64) (result i32)))
|
||||
@ -23,16 +23,17 @@
|
||||
(type $FUNCSIG$vid (func (param i32 f64)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\02\00\00\00\1e")
|
||||
(data (i32.const 8) "\03\00\00\00\1e")
|
||||
(data (i32.const 24) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
|
||||
(data (i32.const 56) "\02\00\00\00&")
|
||||
(data (i32.const 56) "\03\00\00\00&")
|
||||
(data (i32.const 72) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
|
||||
(data (i32.const 112) "\02\00\00\00\14")
|
||||
(data (i32.const 112) "\03\00\00\00\14")
|
||||
(data (i32.const 128) "s\00t\00d\00/\00m\00a\00p\00.\00t\00s")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 23 funcref)
|
||||
(elem (i32.const 0) $null $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/string/String~iterate $~lib/string/String~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate $~lib/map/Map<i8,i32>~iterate)
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $~lib/capabilities i32 (i32.const 2))
|
||||
(export "memory" (memory $0))
|
||||
(export "table" (table $0))
|
||||
@ -127,7 +128,26 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<i8,i32>~iterate (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
local.set $0
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/string/String~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.const 148
|
||||
@ -160,7 +180,7 @@
|
||||
i32.store
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $1
|
||||
@ -371,7 +391,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 1073741808
|
||||
@ -390,10 +410,10 @@
|
||||
local.get $0
|
||||
call $~lib/memory/memory.fill
|
||||
local.get $1
|
||||
i32.const 3
|
||||
i32.const 4
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/map/Map<i8,i32>#clear (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 16
|
||||
call $~lib/arraybuffer/ArrayBuffer#constructor
|
||||
@ -428,7 +448,7 @@
|
||||
i32.const 0
|
||||
i32.store offset=20
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<i8,i32>#constructor (; 9 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
@ -456,7 +476,7 @@
|
||||
call $~lib/map/Map<i8,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#find (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<i8,i32>#find (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -501,7 +521,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#has (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<i8,i32>#has (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -517,7 +537,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#rehash (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<i8,i32>#rehash (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -627,7 +647,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#set (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/map/Map<i8,i32>#set (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -726,7 +746,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#get (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<i8,i32>#get (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -747,7 +767,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i8,i32>#delete (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<i8,i32>#delete (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -814,7 +834,7 @@
|
||||
call $~lib/map/Map<i8,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<i8,i32> (; 14 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<i8,i32> (; 16 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<i8,i32>#constructor
|
||||
@ -1158,11 +1178,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u8,i32>#constructor (; 15 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<u8,i32>#constructor (; 17 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 4
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -1186,7 +1206,7 @@
|
||||
call $~lib/map/Map<i8,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/map/Map<u8,i32>#has (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<u8,i32>#has (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -1200,7 +1220,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<u8,i32>#rehash (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<u8,i32>#rehash (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1310,7 +1330,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<u8,i32>#set (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/map/Map<u8,i32>#set (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1407,7 +1427,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u8,i32>#get (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<u8,i32>#get (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -1426,7 +1446,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u8,i32>#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<u8,i32>#delete (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1491,7 +1511,7 @@
|
||||
call $~lib/map/Map<u8,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<u8,i32> (; 21 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<u8,i32> (; 23 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<u8,i32>#constructor
|
||||
@ -1821,11 +1841,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i16,i32>#constructor (; 22 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<i16,i32>#constructor (; 24 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 5
|
||||
i32.const 7
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -1849,7 +1869,7 @@
|
||||
call $~lib/map/Map<i8,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/map/Map<i16,i32>#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<i16,i32>#find (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -1894,7 +1914,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/map/Map<i16,i32>#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<i16,i32>#has (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -1919,7 +1939,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<i16,i32>#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<i16,i32>#rehash (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2038,7 +2058,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<i16,i32>#set (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/map/Map<i16,i32>#set (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2146,7 +2166,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i16,i32>#get (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<i16,i32>#get (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -2176,7 +2196,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i16,i32>#delete (; 28 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<i16,i32>#delete (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -2252,7 +2272,7 @@
|
||||
call $~lib/map/Map<i16,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<i16,i32> (; 29 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<i16,i32> (; 31 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<i16,i32>#constructor
|
||||
@ -2596,11 +2616,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u16,i32>#constructor (; 30 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<u16,i32>#constructor (; 32 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 6
|
||||
i32.const 9
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -2624,7 +2644,7 @@
|
||||
call $~lib/map/Map<i8,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/map/Map<u16,i32>#has (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<u16,i32>#has (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -2647,7 +2667,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<u16,i32>#rehash (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<u16,i32>#rehash (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2766,7 +2786,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<u16,i32>#set (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/map/Map<u16,i32>#set (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2872,7 +2892,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u16,i32>#get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<u16,i32>#get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -2900,7 +2920,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u16,i32>#delete (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<u16,i32>#delete (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -2974,7 +2994,7 @@
|
||||
call $~lib/map/Map<u16,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<u16,i32> (; 36 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<u16,i32> (; 38 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<u16,i32>#constructor
|
||||
@ -3304,11 +3324,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i32,i32>#constructor (; 37 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<i32,i32>#constructor (; 39 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 7
|
||||
i32.const 11
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -3332,7 +3352,7 @@
|
||||
call $~lib/map/Map<i8,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/hash32 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/hash/hash32 (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 255
|
||||
i32.and
|
||||
@ -3363,7 +3383,7 @@
|
||||
i32.const 16777619
|
||||
i32.mul
|
||||
)
|
||||
(func $~lib/map/Map<i32,i32>#find (; 39 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<i32,i32>#find (; 41 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -3406,7 +3426,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/map/Map<i32,i32>#has (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<i32,i32>#has (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -3415,7 +3435,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<i32,i32>#rehash (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<i32,i32>#rehash (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3522,7 +3542,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<i32,i32>#set (; 42 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/map/Map<i32,i32>#set (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -3612,7 +3632,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i32,i32>#get (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/map/Map<i32,i32>#get (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -3626,7 +3646,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i32,i32>#delete (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<i32,i32>#delete (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -3686,7 +3706,7 @@
|
||||
call $~lib/map/Map<i32,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<i32,i32> (; 45 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<i32,i32> (; 47 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<i32,i32>#constructor
|
||||
@ -4002,11 +4022,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u32,i32>#constructor (; 46 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<u32,i32>#constructor (; 48 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 8
|
||||
i32.const 13
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -4030,7 +4050,7 @@
|
||||
call $~lib/map/Map<i8,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $std/map/testNumeric<u32,i32> (; 47 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<u32,i32> (; 49 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<u32,i32>#constructor
|
||||
@ -4346,7 +4366,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#clear (; 48 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/map/Map<i64,i32>#clear (; 50 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 16
|
||||
call $~lib/arraybuffer/ArrayBuffer#constructor
|
||||
@ -4381,11 +4401,11 @@
|
||||
i32.const 0
|
||||
i32.store offset=20
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#constructor (; 49 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<i64,i32>#constructor (; 51 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 9
|
||||
i32.const 15
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -4409,7 +4429,7 @@
|
||||
call $~lib/map/Map<i64,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/hash64 (; 50 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/hash/hash64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.wrap_i64
|
||||
@ -4475,7 +4495,7 @@
|
||||
i32.const 16777619
|
||||
i32.mul
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#find (; 51 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<i64,i32>#find (; 53 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -4518,7 +4538,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#has (; 52 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
|
||||
(func $~lib/map/Map<i64,i32>#has (; 54 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -4527,7 +4547,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#rehash (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<i64,i32>#rehash (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -4634,7 +4654,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#set (; 54 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(func $~lib/map/Map<i64,i32>#set (; 56 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -4724,7 +4744,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#get (; 55 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
|
||||
(func $~lib/map/Map<i64,i32>#get (; 57 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -4738,7 +4758,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<i64,i32>#delete (; 56 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
|
||||
(func $~lib/map/Map<i64,i32>#delete (; 58 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -4799,7 +4819,7 @@
|
||||
call $~lib/map/Map<i64,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<i64,i32> (; 57 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<i64,i32> (; 59 ;) (type $FUNCSIG$v)
|
||||
(local $0 i64)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<i64,i32>#constructor
|
||||
@ -5122,11 +5142,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<u64,i32>#constructor (; 58 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<u64,i32>#constructor (; 60 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 10
|
||||
i32.const 17
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -5150,7 +5170,7 @@
|
||||
call $~lib/map/Map<i64,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $std/map/testNumeric<u64,i32> (; 59 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<u64,i32> (; 61 ;) (type $FUNCSIG$v)
|
||||
(local $0 i64)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<u64,i32>#constructor
|
||||
@ -5473,11 +5493,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<f32,i32>#constructor (; 60 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<f32,i32>#constructor (; 62 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 11
|
||||
i32.const 19
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -5501,7 +5521,7 @@
|
||||
call $~lib/map/Map<i8,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/map/Map<f32,i32>#find (; 61 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<f32,i32>#find (; 63 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -5544,7 +5564,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/map/Map<f32,i32>#has (; 62 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
(func $~lib/map/Map<f32,i32>#has (; 64 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -5554,7 +5574,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<f32,i32>#rehash (; 63 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<f32,i32>#rehash (; 65 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -5662,7 +5682,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<f32,i32>#set (; 64 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32)
|
||||
(func $~lib/map/Map<f32,i32>#set (; 66 ;) (type $FUNCSIG$vifi) (param $0 i32) (param $1 f32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -5753,7 +5773,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<f32,i32>#get (; 65 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
(func $~lib/map/Map<f32,i32>#get (; 67 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -5768,7 +5788,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<f32,i32>#delete (; 66 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(func $~lib/map/Map<f32,i32>#delete (; 68 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -5830,7 +5850,7 @@
|
||||
call $~lib/map/Map<f32,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<f32,i32> (; 67 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<f32,i32> (; 69 ;) (type $FUNCSIG$v)
|
||||
(local $0 f32)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<f32,i32>#constructor
|
||||
@ -6153,11 +6173,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<f64,i32>#constructor (; 68 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/map/Map<f64,i32>#constructor (; 70 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 12
|
||||
i32.const 21
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -6181,7 +6201,7 @@
|
||||
call $~lib/map/Map<i64,i32>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/map/Map<f64,i32>#find (; 69 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
|
||||
(func $~lib/map/Map<f64,i32>#find (; 71 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -6224,7 +6244,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/map/Map<f64,i32>#has (; 70 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/map/Map<f64,i32>#has (; 72 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -6234,7 +6254,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/map/Map<f64,i32>#rehash (; 71 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/map/Map<f64,i32>#rehash (; 73 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -6342,7 +6362,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/map/Map<f64,i32>#set (; 72 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32)
|
||||
(func $~lib/map/Map<f64,i32>#set (; 74 ;) (type $FUNCSIG$vidi) (param $0 i32) (param $1 f64) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -6433,7 +6453,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<f64,i32>#get (; 73 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/map/Map<f64,i32>#get (; 75 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -6448,7 +6468,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/map/Map<f64,i32>#delete (; 74 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(func $~lib/map/Map<f64,i32>#delete (; 76 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -6510,7 +6530,7 @@
|
||||
call $~lib/map/Map<f64,i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/map/testNumeric<f64,i32> (; 75 ;) (type $FUNCSIG$v)
|
||||
(func $std/map/testNumeric<f64,i32> (; 77 ;) (type $FUNCSIG$v)
|
||||
(local $0 f64)
|
||||
(local $1 i32)
|
||||
call $~lib/map/Map<f64,i32>#constructor
|
||||
@ -6833,7 +6853,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 76 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 78 ;) (type $FUNCSIG$v)
|
||||
i32.const 152
|
||||
global.set $~lib/allocator/arena/startOffset
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
@ -6849,7 +6869,7 @@
|
||||
call $std/map/testNumeric<f32,i32>
|
||||
call $std/map/testNumeric<f64,i32>
|
||||
)
|
||||
(func $null (; 77 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 79 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,9 @@
|
||||
(module
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
@ -23,8 +23,8 @@
|
||||
(data (i32.const 200) "b\00a\00r\00r\00i\00e\00r\003")
|
||||
(data (i32.const 216) "\01\00\00\00\1e")
|
||||
(data (i32.const 232) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 4 funcref)
|
||||
(elem (i32.const 0) $null $~lib/string/String~iterate $~lib/string/String~iterate $~lib/string/String~iterate)
|
||||
(global $~lib/allocator/tlsf/ROOT (mut i32) (i32.const 0))
|
||||
(global $std/runtime/register_ref (mut i32) (i32.const 0))
|
||||
(global $std/runtime/barrier1 (mut i32) (i32.const 0))
|
||||
@ -44,7 +44,10 @@
|
||||
(export "table" (table $0))
|
||||
(export "main" (func $std/runtime/main))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#setSLMap (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $1
|
||||
i32.const 22
|
||||
i32.ge_u
|
||||
@ -64,7 +67,7 @@
|
||||
local.get $2
|
||||
i32.store offset=4
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#setHead (; 3 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
(func $~lib/allocator/tlsf/Root#setHead (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
local.get $1
|
||||
i32.const 22
|
||||
i32.ge_u
|
||||
@ -99,7 +102,7 @@
|
||||
local.get $3
|
||||
i32.store offset=96
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Block#get:right (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Block#get:right (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
i32.const -4
|
||||
@ -133,7 +136,7 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/allocator/tlsf/fls<usize> (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/fls<usize> (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@ -149,7 +152,7 @@
|
||||
i32.clz
|
||||
i32.sub
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#getHead (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#getHead (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $1
|
||||
i32.const 22
|
||||
i32.ge_u
|
||||
@ -183,7 +186,7 @@
|
||||
i32.add
|
||||
i32.load offset=96
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#getSLMap (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#getSLMap (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
i32.const 22
|
||||
i32.ge_u
|
||||
@ -202,7 +205,7 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#remove (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/allocator/tlsf/Root#remove (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -331,7 +334,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Block#get:left (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Block#get:left (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
i32.const 2
|
||||
@ -361,7 +364,7 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#setJump (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/allocator/tlsf/Root#setJump (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
i32.const 1
|
||||
@ -406,7 +409,7 @@
|
||||
local.get $0
|
||||
i32.store
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#insert (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/allocator/tlsf/Root#insert (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -636,7 +639,7 @@
|
||||
i32.or
|
||||
call $~lib/allocator/tlsf/Root#setSLMap
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#addMemory (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/allocator/tlsf/Root#addMemory (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $1
|
||||
@ -759,7 +762,7 @@
|
||||
local.get $1
|
||||
call $~lib/allocator/tlsf/Root#insert
|
||||
)
|
||||
(func $~lib/allocator/tlsf/ffs<usize> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/ffs<usize> (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@ -773,7 +776,7 @@
|
||||
local.get $0
|
||||
i32.ctz
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#search (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#search (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $1
|
||||
@ -885,7 +888,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#use (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#use (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $1
|
||||
@ -996,7 +999,7 @@
|
||||
i32.const 8
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/allocator/tlsf/__mem_allocate (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/__mem_allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -1166,7 +1169,7 @@
|
||||
local.get $1
|
||||
call $~lib/allocator/tlsf/Root#use
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
@ -1193,7 +1196,7 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/util/memory/memcpy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2040,7 +2043,7 @@
|
||||
i32.store8
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 20 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
@ -2234,7 +2237,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/memory/memory.fill (; 21 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $1
|
||||
@ -2445,7 +2448,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/__mem_free (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/allocator/tlsf/__mem_free (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -2483,7 +2486,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/reallocate (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/reallocate (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2590,7 +2593,7 @@
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/runtime/discard (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/runtime/discard (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
i32.const 264
|
||||
i32.le_u
|
||||
@ -2620,7 +2623,7 @@
|
||||
local.get $0
|
||||
call $~lib/allocator/tlsf/__mem_free
|
||||
)
|
||||
(func $~lib/runtime/register (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/runtime/register (; 25 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 264
|
||||
@ -2654,7 +2657,7 @@
|
||||
local.get $0
|
||||
global.set $std/runtime/register_ref
|
||||
)
|
||||
(func $start:std/runtime (; 25 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/runtime (; 26 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -2973,7 +2976,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/runtime/main (; 26 ;) (type $FUNCSIG$v)
|
||||
(func $std/runtime/main (; 27 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -2982,7 +2985,7 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $null (; 27 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 28 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -1,9 +1,9 @@
|
||||
(module
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$viiddddd (func (param i32 i32 f64 f64 f64 f64 f64)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
@ -17,8 +17,8 @@
|
||||
(data (i32.const 152) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\002\00")
|
||||
(data (i32.const 184) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00b\00a\00r\00r\00i\00e\00r\003\00")
|
||||
(data (i32.const 216) "\01\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 4 funcref)
|
||||
(elem (i32.const 0) $null $~lib/string/String~iterate $std/runtime/A~iterate $std/runtime/B~iterate)
|
||||
(global $~lib/allocator/tlsf/SL_BITS i32 (i32.const 5))
|
||||
(global $~lib/allocator/tlsf/SL_SIZE i32 (i32.const 32))
|
||||
(global $~lib/allocator/tlsf/SB_BITS i32 (i32.const 8))
|
||||
@ -60,7 +60,10 @@
|
||||
(export "table" (table $0))
|
||||
(export "main" (func $std/runtime/main))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(func $start:~lib/allocator/tlsf (; 2 ;) (type $FUNCSIG$v)
|
||||
(func $~lib/string/String~iterate (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $start:~lib/allocator/tlsf (; 3 ;) (type $FUNCSIG$v)
|
||||
i32.const 1
|
||||
global.get $~lib/allocator/tlsf/SL_BITS
|
||||
i32.shl
|
||||
@ -76,7 +79,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $std/runtime/A~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
)
|
||||
(func $std/runtime/B~iterate (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
local.get $0
|
||||
@ -88,7 +95,7 @@
|
||||
i32.sub
|
||||
i32.shl
|
||||
)
|
||||
(func $std/runtime/isPowerOf2 (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $std/runtime/isPowerOf2 (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 0
|
||||
@ -106,12 +113,12 @@
|
||||
local.get $1
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#set:tailRef (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/allocator/tlsf/Root#set:tailRef (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 0
|
||||
local.get $1
|
||||
i32.store offset=2912
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#setSLMap (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/allocator/tlsf/Root#setSLMap (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $1
|
||||
global.get $~lib/allocator/tlsf/FL_BITS
|
||||
i32.lt_u
|
||||
@ -132,7 +139,7 @@
|
||||
local.get $2
|
||||
i32.store offset=4
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#setHead (; 7 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
(func $~lib/allocator/tlsf/Root#setHead (; 10 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
local.get $1
|
||||
global.get $~lib/allocator/tlsf/FL_BITS
|
||||
i32.lt_u
|
||||
@ -169,11 +176,11 @@
|
||||
local.get $3
|
||||
i32.store offset=96
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#get:tailRef (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#get:tailRef (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 0
|
||||
i32.load offset=2912
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Block#get:right (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Block#get:right (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
@ -213,7 +220,7 @@
|
||||
local.get $1
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/fls<usize> (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/fls<usize> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 0
|
||||
i32.ne
|
||||
@ -231,7 +238,7 @@
|
||||
i32.clz
|
||||
i32.sub
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#getHead (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#getHead (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $1
|
||||
global.get $~lib/allocator/tlsf/FL_BITS
|
||||
i32.lt_u
|
||||
@ -267,7 +274,7 @@
|
||||
i32.add
|
||||
i32.load offset=96
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#getSLMap (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#getSLMap (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
global.get $~lib/allocator/tlsf/FL_BITS
|
||||
i32.lt_u
|
||||
@ -287,7 +294,7 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#remove (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/allocator/tlsf/Root#remove (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -432,7 +439,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Block#get:left (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Block#get:left (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
@ -464,7 +471,7 @@
|
||||
local.get $1
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#setJump (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/allocator/tlsf/Root#setJump (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $1
|
||||
i32.load
|
||||
global.get $~lib/allocator/tlsf/FREE
|
||||
@ -510,7 +517,7 @@
|
||||
local.get $1
|
||||
i32.store
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#insert (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/allocator/tlsf/Root#insert (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -776,7 +783,7 @@
|
||||
i32.or
|
||||
call $~lib/allocator/tlsf/Root#setSLMap
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#addMemory (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#addMemory (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -929,7 +936,7 @@
|
||||
call $~lib/allocator/tlsf/Root#insert
|
||||
i32.const 1
|
||||
)
|
||||
(func $~lib/allocator/tlsf/ffs<usize> (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/ffs<usize> (; 21 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 0
|
||||
i32.ne
|
||||
@ -945,7 +952,7 @@
|
||||
local.get $0
|
||||
i32.ctz
|
||||
)
|
||||
(func $~lib/allocator/tlsf/ffs<u32> (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/ffs<u32> (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 0
|
||||
i32.ne
|
||||
@ -961,7 +968,7 @@
|
||||
local.get $0
|
||||
i32.ctz
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#search (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#search (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1102,7 +1109,7 @@
|
||||
end
|
||||
local.get $6
|
||||
)
|
||||
(func $~lib/allocator/tlsf/Root#use (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/Root#use (; 24 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1230,7 +1237,7 @@
|
||||
global.get $~lib/allocator/tlsf/Block.INFO
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/allocator/tlsf/__mem_allocate (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/tlsf/__mem_allocate (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -1466,12 +1473,12 @@
|
||||
local.get $0
|
||||
call $~lib/allocator/tlsf/Root#use
|
||||
)
|
||||
(func $~lib/memory/memory.allocate (; 23 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/memory/memory.allocate (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
call $~lib/allocator/tlsf/__mem_allocate
|
||||
return
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
call $~lib/runtime/ADJUSTOBLOCK
|
||||
@ -1493,7 +1500,7 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/util/memory/memcpy (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2694,7 +2701,7 @@
|
||||
i32.store8
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2925,7 +2932,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 27 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.fill (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -3182,7 +3189,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/tlsf/__mem_free (; 28 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/allocator/tlsf/__mem_free (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -3225,15 +3232,15 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.free (; 29 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/memory/memory.free (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
call $~lib/allocator/tlsf/__mem_free
|
||||
)
|
||||
(func $std/runtime/__ref_register (; 30 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $std/runtime/__ref_register (; 33 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
global.set $std/runtime/register_ref
|
||||
)
|
||||
(func $~lib/runtime/reallocate (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/reallocate (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3337,7 +3344,7 @@
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/runtime/discard (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/runtime/discard (; 35 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -3371,7 +3378,7 @@
|
||||
local.get $1
|
||||
call $~lib/memory/memory.free
|
||||
)
|
||||
(func $~lib/runtime/register (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -3409,13 +3416,13 @@
|
||||
call $std/runtime/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.sub
|
||||
i32.load offset=4
|
||||
)
|
||||
(func $~lib/string/String#get:length (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String#get:length (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.sub
|
||||
@ -3423,7 +3430,7 @@
|
||||
i32.const 1
|
||||
i32.shr_u
|
||||
)
|
||||
(func $start:std/runtime (; 36 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/runtime (; 39 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $start:~lib/allocator/tlsf
|
||||
@ -3781,7 +3788,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/runtime/main (; 37 ;) (type $FUNCSIG$v)
|
||||
(func $std/runtime/main (; 40 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
i32.eqz
|
||||
if
|
||||
@ -3790,9 +3797,9 @@
|
||||
global.set $~lib/started
|
||||
end
|
||||
)
|
||||
(func $start (; 38 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 41 ;) (type $FUNCSIG$v)
|
||||
call $start:std/runtime
|
||||
)
|
||||
(func $null (; 39 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 42 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -1,10 +1,10 @@
|
||||
(module
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$vi (func (param i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$iij (func (param i32 i64) (result i32)))
|
||||
(type $FUNCSIG$ij (func (param i64) (result i32)))
|
||||
@ -19,16 +19,17 @@
|
||||
(type $FUNCSIG$i (func (result i32)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\02\00\00\00\1e")
|
||||
(data (i32.const 8) "\03\00\00\00\1e")
|
||||
(data (i32.const 24) "~\00l\00i\00b\00/\00r\00u\00n\00t\00i\00m\00e\00.\00t\00s")
|
||||
(data (i32.const 56) "\02\00\00\00&")
|
||||
(data (i32.const 56) "\03\00\00\00&")
|
||||
(data (i32.const 72) "~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s")
|
||||
(data (i32.const 112) "\02\00\00\00\14")
|
||||
(data (i32.const 112) "\03\00\00\00\14")
|
||||
(data (i32.const 128) "s\00t\00d\00/\00s\00e\00t\00.\00t\00s")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 23 funcref)
|
||||
(elem (i32.const 0) $null $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/string/String~iterate $~lib/string/String~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate $~lib/set/Set<i8>~iterate)
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $~lib/capabilities i32 (i32.const 2))
|
||||
(export "memory" (memory $0))
|
||||
(export "table" (table $0))
|
||||
@ -123,7 +124,26 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<i8>~iterate (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
local.set $0
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/string/String~iterate (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/runtime/register (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.const 148
|
||||
@ -156,7 +176,7 @@
|
||||
i32.store
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $1
|
||||
@ -367,7 +387,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 1073741808
|
||||
@ -386,10 +406,10 @@
|
||||
local.get $0
|
||||
call $~lib/memory/memory.fill
|
||||
local.get $1
|
||||
i32.const 3
|
||||
i32.const 4
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/set/Set<i8>#clear (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/set/Set<i8>#clear (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 16
|
||||
call $~lib/arraybuffer/ArrayBuffer#constructor
|
||||
@ -424,7 +444,7 @@
|
||||
i32.const 0
|
||||
i32.store offset=20
|
||||
)
|
||||
(func $~lib/set/Set<i8>#constructor (; 7 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<i8>#constructor (; 9 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
@ -452,7 +472,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/set/Set<i8>#find (; 8 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<i8>#find (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -497,7 +517,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<i8>#has (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<i8>#has (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -513,7 +533,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<i8>#rehash (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i8>#rehash (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -619,7 +639,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<i8>#add (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i8>#add (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -711,7 +731,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<i8>#delete (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i8>#delete (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -778,7 +798,7 @@
|
||||
call $~lib/set/Set<i8>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<i8> (; 13 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<i8> (; 15 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<i8>#constructor
|
||||
@ -1023,11 +1043,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<u8>#constructor (; 14 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<u8>#constructor (; 16 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 4
|
||||
i32.const 5
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -1051,7 +1071,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/set/Set<u8>#has (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<u8>#has (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -1065,7 +1085,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<u8>#rehash (; 16 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<u8>#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1171,7 +1191,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<u8>#add (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<u8>#add (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1261,7 +1281,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<u8>#delete (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<u8>#delete (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1326,7 +1346,7 @@
|
||||
call $~lib/set/Set<u8>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<u8> (; 19 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<u8> (; 21 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<u8>#constructor
|
||||
@ -1571,11 +1591,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<i16>#constructor (; 20 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<i16>#constructor (; 22 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 5
|
||||
i32.const 7
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -1599,7 +1619,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/set/Set<i16>#find (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<i16>#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -1644,7 +1664,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<i16>#has (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<i16>#has (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -1669,7 +1689,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<i16>#rehash (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i16>#rehash (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1784,7 +1804,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<i16>#add (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i16>#add (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1885,7 +1905,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<i16>#delete (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i16>#delete (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1961,7 +1981,7 @@
|
||||
call $~lib/set/Set<i16>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<i16> (; 26 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<i16> (; 28 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<i16>#constructor
|
||||
@ -2206,11 +2226,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<u16>#constructor (; 27 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<u16>#constructor (; 29 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 6
|
||||
i32.const 9
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -2234,7 +2254,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/set/Set<u16>#has (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<u16>#has (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -2257,7 +2277,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<u16>#rehash (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<u16>#rehash (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2372,7 +2392,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<u16>#add (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<u16>#add (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2471,7 +2491,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<u16>#delete (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<u16>#delete (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -2545,7 +2565,7 @@
|
||||
call $~lib/set/Set<u16>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<u16> (; 32 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<u16> (; 34 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<u16>#constructor
|
||||
@ -2790,11 +2810,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<i32>#constructor (; 33 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<i32>#constructor (; 35 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 7
|
||||
i32.const 11
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -2818,7 +2838,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/hash32 (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/hash/hash32 (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 255
|
||||
i32.and
|
||||
@ -2849,7 +2869,7 @@
|
||||
i32.const 16777619
|
||||
i32.mul
|
||||
)
|
||||
(func $~lib/set/Set<i32>#find (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<i32>#find (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -2892,7 +2912,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<i32>#has (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/set/Set<i32>#has (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -2901,7 +2921,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<i32>#rehash (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i32>#rehash (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3004,7 +3024,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<i32>#add (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i32>#add (; 40 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3087,7 +3107,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<i32>#delete (; 39 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i32>#delete (; 41 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -3147,7 +3167,7 @@
|
||||
call $~lib/set/Set<i32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<i32> (; 40 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<i32> (; 42 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<i32>#constructor
|
||||
@ -3392,11 +3412,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<u32>#constructor (; 41 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<u32>#constructor (; 43 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 8
|
||||
i32.const 13
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -3420,7 +3440,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $std/set/testNumeric<u32> (; 42 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<u32> (; 44 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<u32>#constructor
|
||||
@ -3665,7 +3685,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<i64>#clear (; 43 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/set/Set<i64>#clear (; 45 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 16
|
||||
call $~lib/arraybuffer/ArrayBuffer#constructor
|
||||
@ -3700,11 +3720,11 @@
|
||||
i32.const 0
|
||||
i32.store offset=20
|
||||
)
|
||||
(func $~lib/set/Set<i64>#constructor (; 44 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<i64>#constructor (; 46 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 9
|
||||
i32.const 15
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -3728,7 +3748,7 @@
|
||||
call $~lib/set/Set<i64>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/hash64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/hash/hash64 (; 47 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.wrap_i64
|
||||
@ -3794,7 +3814,7 @@
|
||||
i32.const 16777619
|
||||
i32.mul
|
||||
)
|
||||
(func $~lib/set/Set<i64>#find (; 46 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<i64>#find (; 48 ;) (type $FUNCSIG$iiji) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -3837,7 +3857,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<i64>#has (; 47 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
|
||||
(func $~lib/set/Set<i64>#has (; 49 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -3846,7 +3866,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<i64>#rehash (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<i64>#rehash (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3949,7 +3969,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<i64>#add (; 49 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
|
||||
(func $~lib/set/Set<i64>#add (; 51 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -4032,7 +4052,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<i64>#delete (; 50 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
|
||||
(func $~lib/set/Set<i64>#delete (; 52 ;) (type $FUNCSIG$vij) (param $0 i32) (param $1 i64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -4093,7 +4113,7 @@
|
||||
call $~lib/set/Set<i64>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<i64> (; 51 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<i64> (; 53 ;) (type $FUNCSIG$v)
|
||||
(local $0 i64)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<i64>#constructor
|
||||
@ -4338,11 +4358,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<u64>#constructor (; 52 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<u64>#constructor (; 54 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 10
|
||||
i32.const 17
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -4366,7 +4386,7 @@
|
||||
call $~lib/set/Set<i64>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $std/set/testNumeric<u64> (; 53 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<u64> (; 55 ;) (type $FUNCSIG$v)
|
||||
(local $0 i64)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<u64>#constructor
|
||||
@ -4611,11 +4631,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<f32>#constructor (; 54 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<f32>#constructor (; 56 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 11
|
||||
i32.const 19
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -4639,7 +4659,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/set/Set<f32>#find (; 55 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<f32>#find (; 57 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -4682,7 +4702,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<f32>#has (; 56 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
(func $~lib/set/Set<f32>#has (; 58 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -4692,7 +4712,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<f32>#rehash (; 57 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<f32>#rehash (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -4796,7 +4816,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<f32>#add (; 58 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(func $~lib/set/Set<f32>#add (; 60 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -4880,7 +4900,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<f32>#delete (; 59 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(func $~lib/set/Set<f32>#delete (; 61 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -4942,7 +4962,7 @@
|
||||
call $~lib/set/Set<f32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<f32> (; 60 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<f32> (; 62 ;) (type $FUNCSIG$v)
|
||||
(local $0 f32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<f32>#constructor
|
||||
@ -5187,11 +5207,11 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<f64>#constructor (; 61 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<f64>#constructor (; 63 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 12
|
||||
i32.const 21
|
||||
call $~lib/runtime/register
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
@ -5215,7 +5235,7 @@
|
||||
call $~lib/set/Set<i64>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/set/Set<f64>#find (; 62 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<f64>#find (; 64 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -5258,7 +5278,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<f64>#has (; 63 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/set/Set<f64>#has (; 65 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
@ -5268,7 +5288,7 @@
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<f64>#rehash (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<f64>#rehash (; 66 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -5372,7 +5392,7 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<f64>#add (; 65 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(func $~lib/set/Set<f64>#add (; 67 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -5456,7 +5476,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<f64>#delete (; 66 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(func $~lib/set/Set<f64>#delete (; 68 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -5518,7 +5538,7 @@
|
||||
call $~lib/set/Set<f64>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/testNumeric<f64> (; 67 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/testNumeric<f64> (; 69 ;) (type $FUNCSIG$v)
|
||||
(local $0 f64)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<f64>#constructor
|
||||
@ -5763,7 +5783,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 68 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 70 ;) (type $FUNCSIG$v)
|
||||
i32.const 152
|
||||
global.set $~lib/allocator/arena/startOffset
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
@ -5779,7 +5799,7 @@
|
||||
call $std/set/testNumeric<f32>
|
||||
call $std/set/testNumeric<f64>
|
||||
)
|
||||
(func $null (; 69 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 71 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,5 @@
|
||||
(module
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
@ -14,7 +15,6 @@
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$i (func (result i32)))
|
||||
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\01\00\00\00 ")
|
||||
@ -161,9 +161,9 @@
|
||||
(data (i32.const 2128) ",\00a\00,\00b\00,\00c")
|
||||
(data (i32.const 2144) "\01\00\00\00\0c")
|
||||
(data (i32.const 2160) "a\00,\00b\00,\00c\00,")
|
||||
(data (i32.const 2176) "\03\00\00\00\90\01")
|
||||
(data (i32.const 2176) "\04\00\00\00\90\01")
|
||||
(data (i32.const 2192) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009")
|
||||
(data (i32.const 2592) "\04\00\00\00\10")
|
||||
(data (i32.const 2592) "\05\00\00\00\10")
|
||||
(data (i32.const 2608) "\90\08\00\00\90\08\00\00\90\01\00\00d")
|
||||
(data (i32.const 2624) "\01\00\00\00\02")
|
||||
(data (i32.const 2640) "8")
|
||||
@ -233,17 +233,17 @@
|
||||
(data (i32.const 3880) "-\00I\00n\00f\00i\00n\00i\00t\00y")
|
||||
(data (i32.const 3904) "\01\00\00\00\10")
|
||||
(data (i32.const 3920) "I\00n\00f\00i\00n\00i\00t\00y")
|
||||
(data (i32.const 3936) "\03\00\00\00\b8\02")
|
||||
(data (i32.const 3936) "\04\00\00\00\b8\02")
|
||||
(data (i32.const 3952) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8<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")
|
||||
(data (i32.const 4648) "\07\00\00\00\10")
|
||||
(data (i32.const 4664) "p\0f\00\00p\0f\00\00\b8\02\00\00W")
|
||||
(data (i32.const 4680) "\03\00\00\00\ae")
|
||||
(data (i32.const 4680) "\04\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) "\06\00\00\00\10")
|
||||
(data (i32.const 4872) "\t\00\00\00\10")
|
||||
(data (i32.const 4888) "X\12\00\00X\12\00\00\ae\00\00\00W")
|
||||
(data (i32.const 4904) "\03\00\00\00(")
|
||||
(data (i32.const 4904) "\04\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) "\04\00\00\00\10")
|
||||
(data (i32.const 4960) "\05\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 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 11 funcref)
|
||||
(elem (i32.const 0) $null $~lib/string/String~iterate $~lib/array/Array<~lib/string/String>~iterate $~lib/array/Array<~lib/string/String>~iterate $~lib/string/String~iterate $~lib/array/Array<u32>~iterate $~lib/array/Array<u32>~iterate $~lib/array/Array<u32>~iterate $~lib/array/Array<u32>~iterate $~lib/array/Array<u32>~iterate $~lib/array/Array<u32>~iterate)
|
||||
(global $std/string/str (mut i32) (i32.const 24))
|
||||
(global $std/string/nullStr (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
@ -335,6 +335,7 @@
|
||||
(global $std/string/a (mut i32) (i32.const 0))
|
||||
(global $std/string/b (mut i32) (i32.const 0))
|
||||
(global $std/string/sa (mut i32) (i32.const 0))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $~lib/util/number/_frc_plus (mut i64) (i64.const 0))
|
||||
(global $~lib/util/number/_frc_minus (mut i64) (i64.const 0))
|
||||
(global $~lib/util/number/_exp (mut i32) (i32.const 0))
|
||||
@ -347,7 +348,10 @@
|
||||
(export "getString" (func $std/string/getString))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(start $start)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -409,7 +413,7 @@
|
||||
global.set $~lib/allocator/arena/offset
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
@ -436,7 +440,7 @@
|
||||
i32.const 16
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/runtime/register (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.const 6736
|
||||
@ -469,7 +473,7 @@
|
||||
i32.store
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/string/String.fromCharCode (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String.fromCharCode (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
i32.const 2
|
||||
call $~lib/runtime/allocate
|
||||
@ -480,7 +484,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/util/string/compareImpl (; 5 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(func $~lib/util/string/compareImpl (; 6 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(local $4 i32)
|
||||
local.get $1
|
||||
i32.const 1
|
||||
@ -519,7 +523,7 @@
|
||||
end
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/string/String.__eq (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__eq (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -566,7 +570,7 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String.fromCodePoint (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String.fromCodePoint (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@ -621,7 +625,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/string/String#startsWith (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String#startsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -669,7 +673,7 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String#endsWith (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String#endsWith (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -717,7 +721,7 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String#indexOf (; 10 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#indexOf (; 11 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -801,7 +805,7 @@
|
||||
end
|
||||
i32.const -1
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/util/memory/memcpy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1648,7 +1652,7 @@
|
||||
i32.store8
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
@ -1842,7 +1846,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.repeat (; 13 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
(func $~lib/memory/memory.repeat (; 14 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $2
|
||||
local.get $3
|
||||
@ -1867,7 +1871,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#padStart (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#padStart (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -1963,7 +1967,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/string/String#padEnd (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#padEnd (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2060,7 +2064,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/string/String#lastIndexOf (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#lastIndexOf (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $0
|
||||
@ -2143,7 +2147,7 @@
|
||||
end
|
||||
i32.const -1
|
||||
)
|
||||
(func $~lib/util/string/parse<f64> (; 17 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
|
||||
(func $~lib/util/string/parse<f64> (; 18 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -2379,7 +2383,7 @@
|
||||
local.get $5
|
||||
f64.mul
|
||||
)
|
||||
(func $~lib/string/parseFloat (; 18 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
|
||||
(func $~lib/string/parseFloat (; 19 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@ -2549,7 +2553,7 @@
|
||||
local.get $3
|
||||
f64.mul
|
||||
)
|
||||
(func $~lib/string/String#concat (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#concat (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2598,7 +2602,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/string/String.__concat (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__concat (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 312
|
||||
local.get $0
|
||||
@ -2606,13 +2610,13 @@
|
||||
local.get $1
|
||||
call $~lib/string/String#concat
|
||||
)
|
||||
(func $~lib/string/String.__ne (; 21 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__ne (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String.__gt (; 22 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__gt (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
block (result i32)
|
||||
@ -2677,7 +2681,7 @@
|
||||
i32.const 0
|
||||
i32.gt_s
|
||||
)
|
||||
(func $~lib/string/String.__lt (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__lt (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
block (result i32)
|
||||
@ -2742,19 +2746,19 @@
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
)
|
||||
(func $~lib/string/String.__gte (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__gte (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/string/String.__lt
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String.__lte (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String.__lte (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 416
|
||||
local.get $0
|
||||
call $~lib/string/String.__gt
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String#repeat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#repeat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -2834,7 +2838,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/string/String#slice (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#slice (; 28 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
i32.const 16
|
||||
@ -2912,7 +2916,44 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/runtime/makeArray (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<~lib/string/String>~iterate (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.tee $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.add
|
||||
local.set $0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
local.get $0
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $2
|
||||
i32.load
|
||||
local.set $3
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $3
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $2
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/makeArray (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -2927,7 +2968,7 @@
|
||||
i32.shl
|
||||
local.tee $2
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 3
|
||||
i32.const 4
|
||||
call $~lib/runtime/register
|
||||
local.tee $3
|
||||
local.set $4
|
||||
@ -2948,7 +2989,7 @@
|
||||
i32.store offset=12
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 29 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/memory/memory.fill (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $1
|
||||
@ -3159,7 +3200,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/reallocate (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/reallocate (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3261,7 +3302,7 @@
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/ensureCapacity (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/array/ensureCapacity (; 33 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $1
|
||||
@ -3310,7 +3351,7 @@
|
||||
i32.store offset=8
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#push (; 32 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#push (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -3340,7 +3381,7 @@
|
||||
local.get $3
|
||||
i32.store offset=12
|
||||
)
|
||||
(func $~lib/string/String#split (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#split (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -3579,7 +3620,7 @@
|
||||
i32.const 0
|
||||
call $~lib/runtime/makeArray
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#__get (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#__get (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
@ -3614,7 +3655,7 @@
|
||||
i32.add
|
||||
i32.load
|
||||
)
|
||||
(func $~lib/util/number/decimalCount32 (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/decimalCount32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 100000
|
||||
i32.lt_u
|
||||
@ -3668,7 +3709,15 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/utoa32_lut (; 36 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/Array<u32>~iterate (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/util/number/utoa32_lut (; 39 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
i32.const 2612
|
||||
@ -3778,7 +3827,7 @@
|
||||
i32.store16
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa32 (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/itoa32 (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -3820,7 +3869,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/util/number/utoa32 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/utoa32 (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@ -3843,7 +3892,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/util/number/decimalCount64 (; 39 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/decimalCount64 (; 42 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
local.get $0
|
||||
i64.const 1000000000000000
|
||||
i64.lt_u
|
||||
@ -3897,7 +3946,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/utoa64_lut (; 40 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(func $~lib/util/number/utoa64_lut (; 43 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -3994,7 +4043,7 @@
|
||||
local.get $2
|
||||
call $~lib/util/number/utoa32_lut
|
||||
)
|
||||
(func $~lib/util/number/utoa64 (; 41 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/utoa64 (; 44 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -4036,7 +4085,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/util/number/itoa64 (; 42 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/itoa64 (; 45 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -4101,7 +4150,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/util/number/genDigits (; 43 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
|
||||
(func $~lib/util/number/genDigits (; 46 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
|
||||
(local $7 i32)
|
||||
(local $8 i32)
|
||||
(local $9 i64)
|
||||
@ -4516,7 +4565,7 @@
|
||||
local.get $6
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/prettify (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/prettify (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $2
|
||||
@ -4775,7 +4824,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/dtoa_core (; 45 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa_core (; 48 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(local $2 i64)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
@ -5063,7 +5112,7 @@
|
||||
local.get $10
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/string/String#substring (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#substring (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -5159,7 +5208,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/register
|
||||
)
|
||||
(func $~lib/runtime/discard (; 47 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/runtime/discard (; 50 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
i32.const 6736
|
||||
i32.le_u
|
||||
@ -5186,7 +5235,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/dtoa (; 48 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa (; 51 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@ -5231,7 +5280,7 @@
|
||||
call $~lib/runtime/discard
|
||||
local.get $1
|
||||
)
|
||||
(func $start:std/string (; 49 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/string (; 52 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
global.get $std/string/str
|
||||
i32.const 24
|
||||
@ -8558,13 +8607,13 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/string/getString (; 50 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $std/string/getString (; 53 ;) (type $FUNCSIG$i) (result i32)
|
||||
global.get $std/string/str
|
||||
)
|
||||
(func $start (; 51 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 54 ;) (type $FUNCSIG$v)
|
||||
call $start:std/string
|
||||
)
|
||||
(func $null (; 52 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 55 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -1,4 +1,5 @@
|
||||
(module
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$ii (func (param i32) (result i32)))
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
@ -9,7 +10,6 @@
|
||||
(type $FUNCSIG$dii (func (param i32 i32) (result f64)))
|
||||
(type $FUNCSIG$di (func (param i32) (result f64)))
|
||||
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$ij (func (param i64) (result i32)))
|
||||
(type $FUNCSIG$viji (func (param i32 i64 i32)))
|
||||
(type $FUNCSIG$id (func (param f64) (result i32)))
|
||||
@ -93,8 +93,8 @@
|
||||
(data (i32.const 2080) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00,\00c\00")
|
||||
(data (i32.const 2112) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00,\00a\00,\00b\00,\00c\00")
|
||||
(data (i32.const 2144) "\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00a\00,\00b\00,\00c\00,\00")
|
||||
(data (i32.const 2176) "\03\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00")
|
||||
(data (i32.const 2592) "\04\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00")
|
||||
(data (i32.const 2176) "\04\00\00\00\90\01\00\00\00\00\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00")
|
||||
(data (i32.const 2592) "\05\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\90\08\00\00\90\08\00\00\90\01\00\00d\00\00\00")
|
||||
(data (i32.const 2624) "\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\008\00")
|
||||
(data (i32.const 2648) "\01\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00-\001\000\000\000\00")
|
||||
(data (i32.const 2680) "\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\001\002\003\004\00")
|
||||
@ -129,12 +129,12 @@
|
||||
(data (i32.const 3840) "\01\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00N\00a\00N\00")
|
||||
(data (i32.const 3864) "\01\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00")
|
||||
(data (i32.const 3904) "\01\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00")
|
||||
(data (i32.const 3936) "\03\00\00\00\b8\02\00\00\00\00\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8<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 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 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 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(table $0 11 funcref)
|
||||
(elem (i32.const 0) $null $~lib/string/String~iterate $~lib/array/Array<~lib/string/String>~iterate $~lib/array/Array<~lib/string/String>~iterate $~lib/arraybuffer/ArrayBuffer~iterate $~lib/array/Array<u32>~iterate $~lib/array/Array<u32>~iterate $~lib/array/Array<u64>~iterate $~lib/array/Array<u64>~iterate $~lib/array/Array<i16>~iterate $~lib/array/Array<i16>~iterate)
|
||||
(global $~lib/runtime/HEADER_SIZE i32 (i32.const 16))
|
||||
(global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049))
|
||||
(global $std/string/str (mut i32) (i32.const 24))
|
||||
@ -190,6 +190,7 @@
|
||||
(global $std/string/a (mut i32) (i32.const 0))
|
||||
(global $std/string/b (mut i32) (i32.const 0))
|
||||
(global $std/string/sa (mut i32) (i32.const 0))
|
||||
(global $~lib/argc (mut i32) (i32.const 0))
|
||||
(global $~lib/runtime/MAX_BYTELENGTH i32 (i32.const 1073741808))
|
||||
(global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0))
|
||||
(global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1))
|
||||
@ -211,7 +212,10 @@
|
||||
(export "getString" (func $std/string/getString))
|
||||
(export ".capabilities" (global $~lib/capabilities))
|
||||
(start $start)
|
||||
(func $~lib/string/String#get:length (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String~iterate (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $~lib/string/String#get:length (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.sub
|
||||
@ -219,7 +223,7 @@
|
||||
i32.const 1
|
||||
i32.shr_u
|
||||
)
|
||||
(func $~lib/string/String#charCodeAt (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#charCodeAt (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
call $~lib/string/String#get:length
|
||||
@ -235,7 +239,7 @@
|
||||
i32.add
|
||||
i32.load16_u
|
||||
)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/ADJUSTOBLOCK (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 1
|
||||
i32.const 32
|
||||
local.get $0
|
||||
@ -247,7 +251,7 @@
|
||||
i32.sub
|
||||
i32.shl
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/allocator/arena/__mem_allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -326,12 +330,12 @@
|
||||
global.set $~lib/allocator/arena/offset
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/memory/memory.allocate (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/memory/memory.allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
call $~lib/allocator/arena/__mem_allocate
|
||||
return
|
||||
)
|
||||
(func $~lib/runtime/allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/runtime/allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
call $~lib/runtime/ADJUSTOBLOCK
|
||||
@ -353,10 +357,10 @@
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/collector/dummy/__ref_register (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/collector/dummy/__ref_register (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/runtime/register (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/register (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -394,7 +398,7 @@
|
||||
call $~lib/collector/dummy/__ref_register
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/string/String.fromCharCode (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String.fromCharCode (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
block $~lib/runtime/ALLOCATE|inlined.0 (result i32)
|
||||
@ -415,7 +419,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/util/string/compareImpl (; 10 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
|
||||
(func $~lib/util/string/compareImpl (; 11 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
@ -468,7 +472,7 @@
|
||||
end
|
||||
local.get $5
|
||||
)
|
||||
(func $~lib/string/String.__eq (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__eq (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -512,7 +516,7 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String.fromCodePoint (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/string/String.fromCodePoint (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -583,7 +587,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#startsWith (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#startsWith (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -650,7 +654,7 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String#endsWith (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#endsWith (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -714,7 +718,7 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String#indexOf (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#indexOf (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -808,7 +812,7 @@
|
||||
end
|
||||
i32.const -1
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/util/memory/memcpy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2009,7 +2013,7 @@
|
||||
i32.store8
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2240,7 +2244,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/memory/memory.repeat (; 18 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
(func $~lib/memory/memory.repeat (; 19 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
i32.const 0
|
||||
@ -2272,7 +2276,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#padStart (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#padStart (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2381,7 +2385,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#padEnd (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#padEnd (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2494,7 +2498,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#lastIndexOf (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#lastIndexOf (; 22 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -2586,7 +2590,7 @@
|
||||
end
|
||||
i32.const -1
|
||||
)
|
||||
(func $~lib/util/string/parse<f64> (; 22 ;) (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)
|
||||
@ -2887,12 +2891,12 @@
|
||||
local.get $7
|
||||
f64.mul
|
||||
)
|
||||
(func $~lib/string/parseInt (; 23 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
|
||||
(func $~lib/string/parseInt (; 24 ;) (type $FUNCSIG$dii) (param $0 i32) (param $1 i32) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/util/string/parse<f64>
|
||||
)
|
||||
(func $~lib/string/parseFloat (; 24 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
|
||||
(func $~lib/string/parseFloat (; 25 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -3089,7 +3093,7 @@
|
||||
local.get $5
|
||||
f64.mul
|
||||
)
|
||||
(func $~lib/string/String#concat (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3148,7 +3152,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String.__concat (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__concat (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 312
|
||||
local.get $0
|
||||
@ -3158,13 +3162,13 @@
|
||||
local.get $1
|
||||
call $~lib/string/String#concat
|
||||
)
|
||||
(func $~lib/string/String.__ne (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__ne (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String.__gt (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__gt (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3226,7 +3230,7 @@
|
||||
i32.const 0
|
||||
i32.gt_s
|
||||
)
|
||||
(func $~lib/string/String.__lt (; 29 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__lt (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3288,19 +3292,19 @@
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
)
|
||||
(func $~lib/string/String.__gte (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__gte (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/string/String.__lt
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String.__lte (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String.__lte (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/string/String.__gt
|
||||
i32.eqz
|
||||
)
|
||||
(func $~lib/string/String#repeat (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#repeat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3391,7 +3395,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#slice (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#slice (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -3489,13 +3493,62 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/collector/dummy/__ref_link (; 34 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/array/Array<~lib/string/String>~iterate (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
i32.add
|
||||
local.set $3
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.lt_u
|
||||
if
|
||||
block
|
||||
local.get $2
|
||||
i32.load
|
||||
local.set $4
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $4
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
local.get $4
|
||||
local.get $1
|
||||
call $~lib/string/String~iterate
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $2
|
||||
end
|
||||
br $continue|0
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/arraybuffer/ArrayBuffer~iterate (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
)
|
||||
(func $~lib/collector/dummy/__ref_link (; 37 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/collector/dummy/__ref_unlink (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/collector/dummy/__ref_unlink (; 38 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/runtime/makeArray (; 36 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(func $~lib/runtime/makeArray (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
@ -3515,7 +3568,7 @@
|
||||
local.get $2
|
||||
i32.shl
|
||||
call $~lib/runtime/allocate
|
||||
i32.const 3
|
||||
i32.const 4
|
||||
call $~lib/runtime/register
|
||||
local.set $6
|
||||
local.get $4
|
||||
@ -3559,7 +3612,7 @@
|
||||
end
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/memory/memory.fill (; 37 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.fill (; 40 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -3816,14 +3869,14 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/allocator/arena/__mem_free (; 38 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/allocator/arena/__mem_free (; 41 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
nop
|
||||
)
|
||||
(func $~lib/memory/memory.free (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/memory/memory.free (; 42 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
call $~lib/allocator/arena/__mem_free
|
||||
)
|
||||
(func $~lib/runtime/reallocate (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/runtime/reallocate (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -3927,7 +3980,7 @@
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/ensureCapacity (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/ensureCapacity (; 44 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -4007,7 +4060,7 @@
|
||||
i32.store offset=8
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#push (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#push (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -4057,7 +4110,7 @@
|
||||
i32.store offset=12
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 43 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 46 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $0
|
||||
@ -4090,7 +4143,7 @@
|
||||
call $~lib/collector/dummy/__ref_link
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#split (; 44 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#split (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -4456,11 +4509,11 @@
|
||||
end
|
||||
local.get $10
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#get:length (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#get:length (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
@ -4469,7 +4522,7 @@
|
||||
i32.add
|
||||
i32.load
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#__get (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#__get (; 50 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
@ -4500,7 +4553,7 @@
|
||||
local.get $1
|
||||
call $~lib/array/Array<~lib/string/String>#__unchecked_get
|
||||
)
|
||||
(func $~lib/util/number/decimalCount32 (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/decimalCount32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 100000
|
||||
@ -4569,7 +4622,15 @@
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $~lib/util/number/utoa32_lut (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/array/Array<u32>~iterate (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/util/number/utoa32_lut (; 53 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -4712,7 +4773,7 @@
|
||||
i32.store16
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa32 (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/itoa32 (; 54 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -4776,7 +4837,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/utoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/utoa32 (; 55 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -4820,7 +4881,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/decimalCount64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/decimalCount64 (; 56 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i64.const 1000000000000000
|
||||
@ -4889,7 +4950,7 @@
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $~lib/util/number/utoa64_lut (; 53 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(func $~lib/util/number/utoa64_lut (; 57 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
(local $5 i32)
|
||||
@ -5017,7 +5078,7 @@
|
||||
local.get $2
|
||||
call $~lib/util/number/utoa32_lut
|
||||
)
|
||||
(func $~lib/util/number/utoa64 (; 54 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/utoa64 (; 58 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -5097,7 +5158,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/itoa64 (; 59 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -5199,19 +5260,27 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/builtins/isFinite<f64> (; 56 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/builtins/isFinite<f64> (; 60 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
)
|
||||
(func $~lib/builtins/isNaN<f64> (; 57 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/builtins/isNaN<f64> (; 61 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/array/Array<u64>#__unchecked_get (; 58 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
|
||||
(func $~lib/array/Array<u64>~iterate (; 62 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/array/Array<u64>#__unchecked_get (; 63 ;) (type $FUNCSIG$jii) (param $0 i32) (param $1 i32) (result i64)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
@ -5220,7 +5289,15 @@
|
||||
i32.add
|
||||
i64.load
|
||||
)
|
||||
(func $~lib/array/Array<i16>#__unchecked_get (; 59 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i16>~iterate (; 64 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
call_indirect (type $FUNCSIG$vi)
|
||||
)
|
||||
(func $~lib/array/Array<i16>#__unchecked_get (; 65 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
@ -5229,7 +5306,7 @@
|
||||
i32.add
|
||||
i32.load16_s
|
||||
)
|
||||
(func $~lib/util/number/genDigits (; 60 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
|
||||
(func $~lib/util/number/genDigits (; 66 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
|
||||
(local $7 i32)
|
||||
(local $8 i64)
|
||||
(local $9 i64)
|
||||
@ -5800,7 +5877,7 @@
|
||||
end
|
||||
local.get $15
|
||||
)
|
||||
(func $~lib/util/number/prettify (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/prettify (; 67 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -6133,7 +6210,7 @@
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $~lib/util/number/dtoa_core (; 62 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa_core (; 68 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
(local $4 i32)
|
||||
@ -6571,7 +6648,7 @@
|
||||
local.get $2
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/string/String#substring (; 63 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#substring (; 69 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -6697,7 +6774,7 @@
|
||||
call $~lib/runtime/register
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/discard (; 64 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/runtime/discard (; 70 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
@ -6731,7 +6808,7 @@
|
||||
local.get $1
|
||||
call $~lib/memory/memory.free
|
||||
)
|
||||
(func $~lib/util/number/dtoa (; 65 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa (; 71 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -6787,7 +6864,7 @@
|
||||
end
|
||||
local.get $4
|
||||
)
|
||||
(func $start:std/string (; 66 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/string (; 72 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -10179,12 +10256,12 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/string/getString (; 67 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $std/string/getString (; 73 ;) (type $FUNCSIG$i) (result i32)
|
||||
global.get $std/string/str
|
||||
)
|
||||
(func $start (; 68 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 74 ;) (type $FUNCSIG$v)
|
||||
call $start:std/string
|
||||
)
|
||||
(func $null (; 69 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 75 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -35,12 +35,12 @@
|
||||
(data (i32.const 640) "\01\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(global $~lib/runtime/HEADER_SIZE i32 (i32.const 8))
|
||||
(global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049))
|
||||
(global $~lib/symbol/nextId (mut i32) (i32.const 12))
|
||||
(global $std/symbol/sym1 (mut i32) (i32.const 0))
|
||||
(global $std/symbol/sym2 (mut i32) (i32.const 0))
|
||||
(global $~lib/symbol/stringToId (mut i32) (i32.const 0))
|
||||
(global $~lib/runtime/HEADER_SIZE i32 (i32.const 8))
|
||||
(global $~lib/runtime/HEADER_MAGIC i32 (i32.const -1520547049))
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
|
||||
(global $~lib/ASC_NO_ASSERT i32 (i32.const 0))
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user