mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-18 17:31:29 +00:00
optimize array literal init, warn on unsupported inlining
This commit is contained in:
src
std/assembly
tests/compiler
binary.optimized.watbinary.untouched.watbuiltins.untouched.watcall-super.optimized.watcall-super.untouched.watconstructor.optimized.watconstructor.untouched.watexports.optimized.watexports.untouched.watgetter-call.optimized.watgetter-call.untouched.watinlining.optimized.watinlining.untouched.watnew-without-allocator.untouched.watnumber.optimized.watnumber.untouched.watobject-literal.optimized.watobject-literal.untouched.watoptional-typeparameters.optimized.watoptional-typeparameters.untouched.wat
std
array-literal.optimized.watarray-literal.untouched.watarray.optimized.watarray.untouched.watarraybuffer.optimized.watarraybuffer.untouched.watdataview.optimized.watdataview.untouched.watdate.optimized.watdate.untouched.watmap.optimized.watmap.untouched.watmath.optimized.watmath.untouched.watmod.optimized.watmod.untouched.watnew.optimized.watnew.untouched.watoperator-overloading.optimized.watoperator-overloading.untouched.watpointer.optimized.watpointer.tspointer.untouched.watruntime.optimized.watruntime.untouched.watset.optimized.watset.untouched.watstring-utf8.optimized.watstring-utf8.untouched.watstring.optimized.watstring.untouched.watsymbol.optimized.watsymbol.untouched.wattypedarray.optimized.wattypedarray.untouched.wat
@ -633,17 +633,10 @@ export function compileCall(
|
||||
return module.createI32(getExpressionId(expr) == ExpressionId.Const ? 1 : 0);
|
||||
}
|
||||
case BuiltinSymbols.isManaged: { // isManaged<T>() -> bool
|
||||
if (!compiler.program.gcImplemented) {
|
||||
compiler.currentType = Type.bool;
|
||||
return module.createI32(0);
|
||||
}
|
||||
let type = evaluateConstantType(compiler, typeArguments, operands, reportNode);
|
||||
compiler.currentType = Type.bool;
|
||||
if (!type) return module.createUnreachable();
|
||||
let classType = type.classReference;
|
||||
return classType !== null && !classType.hasDecorator(DecoratorFlags.UNMANAGED)
|
||||
? module.createI32(1)
|
||||
: module.createI32(0);
|
||||
return module.createI32(type.isManaged(compiler.program) ? 1 : 0);
|
||||
}
|
||||
case BuiltinSymbols.sizeof: { // sizeof<T!>() -> usize
|
||||
compiler.currentType = compiler.options.usizeType;
|
||||
@ -4253,7 +4246,8 @@ export function compileBuiltinArraySetWithValue(
|
||||
}
|
||||
}
|
||||
|
||||
var typeIsManaged = type.is(TypeFlags.REFERENCE); // FIXME: .isManaged
|
||||
var program = compiler.program;
|
||||
var isManaged = type.isManaged(program) && target.type.isManaged(program);
|
||||
var usizeType = compiler.options.usizeType;
|
||||
var nativeSizeType = compiler.options.nativeSizeType;
|
||||
var thisExpr = compiler.compileExpression(
|
||||
@ -4263,7 +4257,7 @@ export function compileBuiltinArraySetWithValue(
|
||||
WrapMode.NONE
|
||||
);
|
||||
var tempThis: Local | null = null;
|
||||
if (typeIsManaged) {
|
||||
if (isManaged) {
|
||||
tempThis = compiler.currentFlow.getTempLocal(target.type, false);
|
||||
thisExpr = module.createTeeLocal(tempThis.index, thisExpr);
|
||||
}
|
||||
@ -4293,8 +4287,8 @@ export function compileBuiltinArraySetWithValue(
|
||||
}
|
||||
}
|
||||
|
||||
// handle Array<Ref>: value = LINK<T, TArray>(value, this), value
|
||||
if (typeIsManaged) {
|
||||
// handle Array<Ref>: value = LINK<T, TArray>(value, this)
|
||||
if (isManaged) {
|
||||
let program = compiler.program;
|
||||
let linkPrototype = assert(program.linkPrototype);
|
||||
let linkInstance = compiler.resolver.resolveFunction(linkPrototype, [ type, target.type ]);
|
||||
@ -4309,9 +4303,6 @@ export function compileBuiltinArraySetWithValue(
|
||||
body.unshift(
|
||||
module.createSetLocal(tempValue.index, valueExpr)
|
||||
);
|
||||
body.push(
|
||||
module.createGetLocal(tempValue.index, nativeSizeType)
|
||||
);
|
||||
previousFlow.freeTempLocal(tempValue);
|
||||
previousFlow.freeTempLocal(tempThis!); tempThis = null;
|
||||
compiler.currentFlow = previousFlow;
|
||||
|
131
src/compiler.ts
131
src/compiler.ts
@ -3731,7 +3731,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
if (!(instance && this.compileFunction(instance))) {
|
||||
expr = module.createUnreachable();
|
||||
} else {
|
||||
expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ]);
|
||||
expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -3980,7 +3980,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
if (!(instance && this.compileFunction(instance))) {
|
||||
expr = module.createUnreachable();
|
||||
} else {
|
||||
expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ]);
|
||||
expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -4011,7 +4011,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
if (!(instance && this.compileFunction(instance))) {
|
||||
expr = module.createUnreachable();
|
||||
} else {
|
||||
expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ]);
|
||||
expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -4904,7 +4904,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
let setterInstance = this.resolver.resolveFunction(setterPrototype, null, makeMap(), ReportMode.REPORT);
|
||||
if (!setterInstance) return module.createUnreachable();
|
||||
// call just the setter if the return value isn't of interest
|
||||
if (!tee) return this.makeCallDirect(setterInstance, [ valueWithCorrectType ]);
|
||||
if (!tee) return this.makeCallDirect(setterInstance, [ valueWithCorrectType ], expression);
|
||||
// otherwise call the setter first, then the getter
|
||||
let getterPrototype = assert((<PropertyPrototype>target).getterPrototype); // must be present
|
||||
let getterInstance = this.resolver.resolveFunction(getterPrototype, null, makeMap(), ReportMode.REPORT);
|
||||
@ -4912,8 +4912,8 @@ export class Compiler extends DiagnosticEmitter {
|
||||
let returnType = getterInstance.signature.returnType;
|
||||
let nativeReturnType = returnType.toNativeType();
|
||||
return module.createBlock(null, [
|
||||
this.makeCallDirect(setterInstance, [ valueWithCorrectType ]),
|
||||
this.makeCallDirect(getterInstance) // sets currentType
|
||||
this.makeCallDirect(setterInstance, [ valueWithCorrectType ], expression),
|
||||
this.makeCallDirect(getterInstance, null, expression) // sets currentType
|
||||
], nativeReturnType);
|
||||
}
|
||||
case ElementKind.PROPERTY: { // instance property
|
||||
@ -4932,7 +4932,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
this.options.usizeType,
|
||||
WrapMode.NONE
|
||||
);
|
||||
return this.makeCallDirect(setterInstance, [ thisExpr, valueWithCorrectType ]);
|
||||
return this.makeCallDirect(setterInstance, [ thisExpr, valueWithCorrectType ], expression);
|
||||
}
|
||||
// otherwise call the setter first, then the getter
|
||||
let getterInstance = assert((<Property>target).getterInstance); // must be present
|
||||
@ -4949,10 +4949,10 @@ export class Compiler extends DiagnosticEmitter {
|
||||
this.makeCallDirect(setterInstance, [ // set and remember the target
|
||||
module.createTeeLocal(tempLocalIndex, thisExpr),
|
||||
valueWithCorrectType
|
||||
]),
|
||||
], expression),
|
||||
this.makeCallDirect(getterInstance, [ // get from remembered target
|
||||
module.createGetLocal(tempLocalIndex, nativeReturnType)
|
||||
])
|
||||
], expression)
|
||||
], nativeReturnType);
|
||||
}
|
||||
case ElementKind.CLASS: {
|
||||
@ -5012,18 +5012,18 @@ export class Compiler extends DiagnosticEmitter {
|
||||
module.createTeeLocal(tempLocalTarget.index, thisExpr),
|
||||
module.createTeeLocal(tempLocalElement.index, elementExpr),
|
||||
valueWithCorrectType
|
||||
]),
|
||||
], expression),
|
||||
this.makeCallDirect(indexedGet, [
|
||||
module.createGetLocal(tempLocalTarget.index, tempLocalTarget.type.toNativeType()),
|
||||
module.createGetLocal(tempLocalElement.index, tempLocalElement.type.toNativeType())
|
||||
])
|
||||
], expression)
|
||||
], returnType.toNativeType());
|
||||
} else {
|
||||
return this.makeCallDirect(indexedSet, [
|
||||
thisExpr,
|
||||
elementExpr,
|
||||
valueWithCorrectType
|
||||
]);
|
||||
], expression);
|
||||
}
|
||||
}
|
||||
// fall-through
|
||||
@ -5211,7 +5211,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
makeMap<string,Type>(flow.contextualTypeArguments)
|
||||
);
|
||||
if (!instance) return this.module.createUnreachable();
|
||||
return this.makeCallDirect(instance, argumentExprs);
|
||||
return this.makeCallDirect(instance, argumentExprs, expression);
|
||||
// TODO: this skips inlining because inlining requires compiling its temporary locals in
|
||||
// the scope of the inlined flow. might need another mechanism to lock temp. locals early,
|
||||
// so inlining can be performed in `makeCallDirect` instead?
|
||||
@ -5515,7 +5515,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
);
|
||||
}
|
||||
assert(index == numArgumentsInclThis);
|
||||
return this.makeCallDirect(instance, operands);
|
||||
return this.makeCallDirect(instance, operands, reportNode);
|
||||
}
|
||||
|
||||
// Depends on being pre-checked in compileCallDirect
|
||||
@ -5788,8 +5788,15 @@ export class Compiler extends DiagnosticEmitter {
|
||||
/** Creates a direct call to the specified function. */
|
||||
makeCallDirect(
|
||||
instance: Function,
|
||||
operands: ExpressionRef[] | null = null
|
||||
operands: ExpressionRef[] | null,
|
||||
reportNode: Node
|
||||
): ExpressionRef {
|
||||
if (instance.hasDecorator(DecoratorFlags.INLINE)) {
|
||||
this.warning(
|
||||
DiagnosticCode.TODO_Cannot_inline_inferred_calls_and_specific_internals_yet,
|
||||
reportNode.range, instance.internalName
|
||||
);
|
||||
}
|
||||
var numOperands = operands ? operands.length : 0;
|
||||
var numArguments = numOperands;
|
||||
var minArguments = instance.signature.requiredParameters;
|
||||
@ -6619,21 +6626,17 @@ export class Compiler extends DiagnosticEmitter {
|
||||
|
||||
// find out whether all elements are constant (array is static)
|
||||
var length = expressions.length;
|
||||
var compiledValues = new Array<ExpressionRef>(length);
|
||||
var constantValues = new Array<ExpressionRef>(length);
|
||||
var constantValues: ExpressionRef[] | null = new Array<ExpressionRef>(length);
|
||||
var nativeElementType = elementType.toNativeType();
|
||||
var isStatic = true;
|
||||
for (let i = 0; i < length; ++i) {
|
||||
let expression = expressions[i];
|
||||
let expr = expression
|
||||
? this.compileExpression(<Expression>expression, elementType, ConversionKind.IMPLICIT, WrapMode.NONE)
|
||||
: elementType.toNativeZero(module);
|
||||
compiledValues[i] = expr;
|
||||
if (isStatic) {
|
||||
expr = module.precomputeExpression(expr);
|
||||
if (getExpressionId(expr) == ExpressionId.Const) {
|
||||
assert(getExpressionType(expr) == nativeElementType);
|
||||
constantValues[i] = expr;
|
||||
constantValues![i] = expr;
|
||||
} else {
|
||||
if (isConst) {
|
||||
this.warning(
|
||||
@ -6641,18 +6644,19 @@ export class Compiler extends DiagnosticEmitter {
|
||||
reportNode.range
|
||||
);
|
||||
}
|
||||
isStatic = false;
|
||||
}
|
||||
constantValues = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var program = this.program;
|
||||
var arrayPrototype = assert(program.arrayPrototype);
|
||||
var arrayInstance = assert(this.resolver.resolveClass(arrayPrototype, [ elementType ]));
|
||||
var arrayBufferInstance = assert(program.arrayBufferInstance);
|
||||
var arrayType = arrayInstance.type;
|
||||
|
||||
// if the array is static, make a static arraybuffer segment
|
||||
if (isStatic) {
|
||||
if (constantValues) {
|
||||
let runtimeHeaderSize = program.runtimeHeaderSize;
|
||||
let bufferSegment = this.ensureStaticArrayBuffer(elementType, constantValues);
|
||||
let bufferAddress = i64_add(bufferSegment.offset, i64_new(runtimeHeaderSize));
|
||||
@ -6669,7 +6673,6 @@ export class Compiler extends DiagnosticEmitter {
|
||||
|
||||
// otherwise allocate a new array header and make it wrap a copy of the static buffer
|
||||
} else {
|
||||
let arrayBufferInstance = assert(program.arrayBufferInstance);
|
||||
let wrapArrayPrototype = assert(program.wrapArrayPrototype);
|
||||
let wrapArrayInstance = this.resolver.resolveFunction(wrapArrayPrototype, [ elementType ]);
|
||||
if (!wrapArrayInstance) {
|
||||
@ -6708,25 +6711,73 @@ export class Compiler extends DiagnosticEmitter {
|
||||
}
|
||||
var nativeArrayType = arrayType.toNativeType();
|
||||
var flow = this.currentFlow;
|
||||
var tempLocal = flow.parentFunction.addLocal(arrayType); // can't reuse a temp (used in compiledValues)
|
||||
var stmts = new Array<ExpressionRef>(2 + length);
|
||||
var index = 0;
|
||||
stmts[index++] = module.createSetLocal(tempLocal.index,
|
||||
var tempThis = flow.getTempLocal(arrayType, false);
|
||||
var tempDataStart = flow.getTempLocal(arrayBufferInstance.type);
|
||||
var stmts = new Array<ExpressionRef>();
|
||||
// tempThis = new Array<T>(length)
|
||||
stmts.push(
|
||||
module.createSetLocal(tempThis.index,
|
||||
this.makeCallDirect(assert(arrayInstance.constructorInstance), [
|
||||
module.createI32(0), // this
|
||||
module.createI32(length)
|
||||
])
|
||||
], reportNode)
|
||||
)
|
||||
);
|
||||
for (let i = 0; i < length; ++i) {
|
||||
stmts[index++] = this.makeCallDirect(setter, [
|
||||
module.createGetLocal(tempLocal.index, nativeArrayType), // this
|
||||
module.createI32(i),
|
||||
compiledValues[i]
|
||||
]);
|
||||
// tempData = tempThis.dataStart
|
||||
var dataStart = assert(arrayInstance.lookupInSelf("dataStart"));
|
||||
assert(dataStart.kind == ElementKind.FIELD);
|
||||
stmts.push(
|
||||
module.createSetLocal(tempDataStart.index,
|
||||
module.createLoad(arrayType.byteSize, false,
|
||||
module.createGetLocal(tempThis.index, nativeArrayType),
|
||||
nativeArrayType,
|
||||
(<Field>dataStart).memoryOffset
|
||||
)
|
||||
)
|
||||
);
|
||||
var isManaged = elementType.isManaged(program) && arrayType.isManaged(program);
|
||||
var linkInstance = isManaged
|
||||
? this.resolver.resolveFunction(assert(program.linkPrototype), [ elementType, arrayType ])
|
||||
: null;
|
||||
for (let i = 0, alignLog2 = elementType.alignLog2; i < length; ++i) {
|
||||
let valueExpression = expressions[i];
|
||||
let valueExpr = valueExpression
|
||||
? this.compileExpression(valueExpression, elementType, ConversionKind.IMPLICIT, WrapMode.NONE)
|
||||
: elementType.toNativeZero(module);
|
||||
if (isManaged) {
|
||||
if (!linkInstance) {
|
||||
valueExpr = module.createUnreachable();
|
||||
} else {
|
||||
// value = LINK(value, tempThis)
|
||||
let tempValue = flow.getAndFreeTempLocal(elementType, false);
|
||||
let inlineFlow = Flow.createInline(flow.parentFunction, linkInstance);
|
||||
inlineFlow.addScopedAlias(linkInstance.signature.getParameterName(0), elementType, tempValue.index);
|
||||
inlineFlow.addScopedAlias(linkInstance.signature.getParameterName(1), arrayType, tempThis.index);
|
||||
this.currentFlow = inlineFlow;
|
||||
let body = this.compileFunctionBody(linkInstance);
|
||||
stmts.push(
|
||||
module.createSetLocal(tempValue.index, valueExpr)
|
||||
);
|
||||
valueExpr = module.createBlock(inlineFlow.inlineReturnLabel, body, nativeElementType);
|
||||
this.currentFlow = flow;
|
||||
}
|
||||
assert(index + 1 == stmts.length);
|
||||
stmts[index] = module.createGetLocal(tempLocal.index, nativeArrayType);
|
||||
flow.freeTempLocal(tempLocal); // but can be reused now
|
||||
}
|
||||
// store<T>(tempData, value, immOffset)
|
||||
stmts.push(
|
||||
module.createStore(elementType.byteSize,
|
||||
module.createGetLocal(tempDataStart.index, nativeArrayType),
|
||||
valueExpr,
|
||||
nativeElementType,
|
||||
i << alignLog2
|
||||
)
|
||||
);
|
||||
}
|
||||
// -> tempThis
|
||||
stmts.push(
|
||||
module.createGetLocal(tempThis.index, nativeArrayType)
|
||||
);
|
||||
flow.freeTempLocal(tempThis); // but can be reused now
|
||||
flow.freeTempLocal(tempDataStart);
|
||||
this.currentType = arrayType;
|
||||
return module.createBlock(null, stmts, nativeArrayType);
|
||||
}
|
||||
@ -6942,7 +6993,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// TODO: base constructor might be inlined, but makeCallDirect can't do this
|
||||
stmts.push(
|
||||
module.createSetLocal(0,
|
||||
this.makeCallDirect(assert(baseClass.constructorInstance), operands)
|
||||
this.makeCallDirect(assert(baseClass.constructorInstance), operands, reportNode)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -34,6 +34,7 @@ export enum DiagnosticCode {
|
||||
Module_cannot_have_multiple_start_functions = 221,
|
||||
_0_must_be_a_value_between_1_and_2_inclusive = 222,
|
||||
_0_must_be_a_power_of_two = 223,
|
||||
TODO_Cannot_inline_inferred_calls_and_specific_internals_yet = 224,
|
||||
Unterminated_string_literal = 1002,
|
||||
Identifier_expected = 1003,
|
||||
_0_expected = 1005,
|
||||
@ -169,6 +170,7 @@ export function diagnosticCodeToString(code: DiagnosticCode): string {
|
||||
case 221: return "Module cannot have multiple start functions.";
|
||||
case 222: return "'{0}' must be a value between '{1}' and '{2}' inclusive.";
|
||||
case 223: return "'{0}' must be a power of two.";
|
||||
case 224: return "TODO: Cannot inline inferred calls and specific internals yet.";
|
||||
case 1002: return "Unterminated string literal.";
|
||||
case 1003: return "Identifier expected.";
|
||||
case 1005: return "'{0}' expected.";
|
||||
|
@ -26,6 +26,7 @@
|
||||
"Module cannot have multiple start functions.": 221,
|
||||
"'{0}' must be a value between '{1}' and '{2}' inclusive.": 222,
|
||||
"'{0}' must be a power of two.": 223,
|
||||
"TODO: Cannot inline inferred calls and specific internals yet.": 224,
|
||||
|
||||
"Unterminated string literal.": 1002,
|
||||
"Identifier expected.": 1003,
|
||||
|
@ -72,8 +72,11 @@ export class Array<T> extends ArrayBufferView {
|
||||
@operator("[]=") // unchecked is built-in
|
||||
private __set(index: i32, value: T): void {
|
||||
ensureCapacity(this, index + 1, alignof<T>());
|
||||
store<T>(this.dataStart + (<usize>index << alignof<T>()), value);
|
||||
if (isManaged<T>()) LINK(value, this);
|
||||
store<T>(this.dataStart + (<usize>index << alignof<T>()),
|
||||
isManaged<T>()
|
||||
? LINK<T,this>(value, this)
|
||||
: value
|
||||
);
|
||||
if (index >= this.length_) this.length_ = index + 1;
|
||||
}
|
||||
|
||||
@ -131,8 +134,11 @@ export class Array<T> extends ArrayBufferView {
|
||||
var newLength = this.length_ + 1;
|
||||
ensureCapacity(this, newLength, alignof<T>());
|
||||
this.length_ = newLength;
|
||||
store<T>(this.dataStart + (<usize>(newLength - 1) << alignof<T>()), element);
|
||||
if (isManaged<T>()) LINK(element, this);
|
||||
store<T>(this.dataStart + (<usize>(newLength - 1) << alignof<T>()),
|
||||
isManaged<T>()
|
||||
? LINK<T,this>(element, this)
|
||||
: element
|
||||
);
|
||||
return newLength;
|
||||
}
|
||||
|
||||
@ -146,15 +152,13 @@ export class Array<T> extends ArrayBufferView {
|
||||
let thisStart = this.dataStart;
|
||||
for (let offset: usize = 0; offset < thisSize; offset += sizeof<T>()) {
|
||||
let element = load<T>(thisStart + offset);
|
||||
store<T>(outStart + offset, element);
|
||||
LINK(element, out);
|
||||
store<T>(outStart + offset, LINK<T,Array<T>>(element, out));
|
||||
}
|
||||
let otherStart = other.dataStart;
|
||||
let otherSize = <usize>otherLen << alignof<T>();
|
||||
for (let offset: usize = 0; offset < otherSize; offset += sizeof<T>()) {
|
||||
let element = load<T>(otherStart + offset);
|
||||
store<T>(outStart + thisSize + offset, element);
|
||||
LINK(element, out);
|
||||
store<T>(outStart + thisSize + offset, LINK<T,Array<T>>(element, out));
|
||||
}
|
||||
} else {
|
||||
memory.copy(outStart, this.dataStart, thisSize);
|
||||
@ -211,8 +215,11 @@ export class Array<T> extends ArrayBufferView {
|
||||
for (let index = 0; index < min(length, this.length_); ++index) {
|
||||
let value = load<T>(this.dataStart + (<usize>index << alignof<T>()));
|
||||
let result = callbackfn(value, index, this);
|
||||
store<U>(outStart + (<usize>index << alignof<U>()), result);
|
||||
if (isManaged<U>()) LINK(result, out);
|
||||
store<U>(outStart + (<usize>index << alignof<U>()),
|
||||
isManaged<U>()
|
||||
? LINK<U,Array<U>>(result, out)
|
||||
: result
|
||||
);
|
||||
}
|
||||
return out;
|
||||
}
|
||||
@ -283,8 +290,11 @@ export class Array<T> extends ArrayBufferView {
|
||||
base,
|
||||
<usize>(newLength - 1) << alignof<T>()
|
||||
);
|
||||
store<T>(base, element);
|
||||
if (isManaged<T>()) LINK(element, this);
|
||||
store<T>(base,
|
||||
isManaged<T>()
|
||||
? LINK<T,this>(element, this)
|
||||
: element
|
||||
);
|
||||
this.length_ = newLength;
|
||||
return newLength;
|
||||
}
|
||||
@ -300,8 +310,11 @@ export class Array<T> extends ArrayBufferView {
|
||||
for (let i = 0; i < length; ++i) {
|
||||
let offset = <usize>i << alignof<T>();
|
||||
let element = load<T>(thisBase + offset);
|
||||
store<T>(sliceBase + offset, element);
|
||||
if (isManaged<T>()) LINK(element, slice);
|
||||
store<T>(sliceBase + offset,
|
||||
isManaged<T>()
|
||||
? LINK<T,Array<T>>(element, slice)
|
||||
: element
|
||||
);
|
||||
}
|
||||
return slice;
|
||||
}
|
||||
@ -316,8 +329,11 @@ export class Array<T> extends ArrayBufferView {
|
||||
var thisBase = thisStart + (<usize>start << alignof<T>());
|
||||
for (let i = 0; i < deleteCount; ++i) {
|
||||
let element = load<T>(thisBase + (<usize>i << alignof<T>()));
|
||||
store<T>(spliceStart + (<usize>i << alignof<T>()), element);
|
||||
if (isManaged<T>()) LINK(element, splice);
|
||||
store<T>(spliceStart + (<usize>i << alignof<T>()),
|
||||
isManaged<T>()
|
||||
? LINK<T,Array<T>>(element, splice)
|
||||
: element
|
||||
);
|
||||
}
|
||||
memory.copy(
|
||||
splice.dataStart,
|
||||
|
@ -2,7 +2,7 @@ import { ALLOCATE, REGISTER, HEADER, HEADER_SIZE, MAX_BYTELENGTH } from "./runti
|
||||
|
||||
@sealed export class ArrayBuffer {
|
||||
|
||||
@inline static isView<T>(value: T): bool {
|
||||
static isView<T>(value: T): bool {
|
||||
if (value) {
|
||||
if (value instanceof Int8Array) return true;
|
||||
if (value instanceof Uint8Array) return true;
|
||||
|
@ -58,14 +58,17 @@ export declare function isConstant(expression: void): bool;
|
||||
@builtin
|
||||
export declare function isManaged<T>(value?: T): bool;
|
||||
|
||||
// @ts-ignore: decorator
|
||||
@inline
|
||||
export function isNaN<T>(value: T): bool { return value != value; }
|
||||
export function isNaN<T extends number>(value: T): bool {
|
||||
if (!isFloat<T>()) {
|
||||
if (!isInteger<T>()) ERROR("numeric type expected");
|
||||
}
|
||||
return value != value;
|
||||
}
|
||||
|
||||
// @ts-ignore: decorator
|
||||
@inline
|
||||
export function isFinite<T>(value: T): bool {
|
||||
// @ts-ignore: type
|
||||
export function isFinite<T extends number>(value: T): bool {
|
||||
if (!isFloat<T>()) {
|
||||
if (!isInteger<T>()) ERROR("numeric type expected");
|
||||
}
|
||||
return value - value == 0;
|
||||
}
|
||||
|
||||
|
@ -119,15 +119,18 @@ export class Map<K,V> {
|
||||
entry = changetype<MapEntry<K,V>>(
|
||||
changetype<usize>(entries) + this.entriesOffset++ * ENTRY_SIZE<K,V>()
|
||||
);
|
||||
entry.key = key;
|
||||
entry.value = value;
|
||||
// link with the map (entry is unmanaged)
|
||||
entry.key = isManaged<K>()
|
||||
? LINK<K,this>(key, this)
|
||||
: key;
|
||||
entry.value = isManaged<V>()
|
||||
? LINK<V,this>(value, this)
|
||||
: value;
|
||||
++this.entriesCount;
|
||||
// link with previous entry in bucket
|
||||
let bucketPtrBase = changetype<usize>(this.buckets) + <usize>(hashCode & this.bucketsMask) * BUCKET_SIZE;
|
||||
entry.taggedNext = load<usize>(bucketPtrBase);
|
||||
store<usize>(bucketPtrBase, changetype<usize>(entry));
|
||||
if (isManaged<K>()) LINK(key, this);
|
||||
if (isManaged<V>()) LINK(value, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -137,10 +137,11 @@ function doRegister(ref: usize, classId: u32): usize {
|
||||
/** Links a registered object with the (registered) object now referencing it. */
|
||||
// @ts-ignore: decorator
|
||||
@unsafe @inline
|
||||
export function LINK<T,TParent>(ref: T, parentRef: TParent): void {
|
||||
if (!isReference<T>()) ERROR("reference expected");
|
||||
if (!isReference<TParent>()) ERROR("reference expected");
|
||||
export function LINK<T,TParent>(ref: T, parentRef: TParent): T {
|
||||
if (!isManaged<T>()) ERROR("managed reference expected");
|
||||
if (!isManaged<TParent>()) ERROR("managed reference expected");
|
||||
doLink(changetype<usize>(ref), changetype<usize>(parentRef));
|
||||
return ref;
|
||||
}
|
||||
|
||||
function doLink(ref: usize, parentRef: usize): void {
|
||||
|
@ -88,11 +88,11 @@ export class Set<K> {
|
||||
}
|
||||
|
||||
has(key: K): bool {
|
||||
return this.find(key, HASH(key)) !== null;
|
||||
return this.find(key, HASH<K>(key)) !== null;
|
||||
}
|
||||
|
||||
add(key: K): void {
|
||||
var hashCode = HASH(key);
|
||||
var hashCode = HASH<K>(key);
|
||||
var entry = this.find(key, hashCode);
|
||||
if (!entry) {
|
||||
// check if rehashing is necessary
|
||||
@ -108,13 +108,15 @@ export class Set<K> {
|
||||
entry = changetype<SetEntry<K>>(
|
||||
changetype<usize>(entries) + this.entriesOffset++ * ENTRY_SIZE<K>()
|
||||
);
|
||||
entry.key = key;
|
||||
// link with the set itself (entry is unmanaged)
|
||||
entry.key = isManaged<K>()
|
||||
? LINK<K,this>(key, this)
|
||||
: key;
|
||||
++this.entriesCount;
|
||||
// link with previous entry in bucket
|
||||
let bucketPtrBase = changetype<usize>(this.buckets) + <usize>(hashCode & this.bucketsMask) * BUCKET_SIZE;
|
||||
entry.taggedNext = load<usize>(bucketPtrBase);
|
||||
store<usize>(bucketPtrBase, changetype<usize>(entry));
|
||||
if (isManaged<K>()) LINK(key, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -362,8 +362,12 @@ import { compareImpl, parse, CharCode, isWhiteSpaceOrLineTerminator } from "./ut
|
||||
charStr,
|
||||
load<u16>(changetype<usize>(this) + (<usize>i << 1))
|
||||
);
|
||||
store<usize>(resultStart + (<usize>i << alignof<usize>()), REGISTER<String>(charStr)); // result[i] = charStr
|
||||
if (isManaged<String>()) LINK(changetype<String>(charStr), result);
|
||||
// result[i] = charStr
|
||||
store<String>(resultStart + (<usize>i << alignof<usize>()),
|
||||
isManaged<String>()
|
||||
? LINK<String,Array<String>>(REGISTER<String>(charStr), result)
|
||||
: REGISTER<String>(charStr)
|
||||
);
|
||||
}
|
||||
return result;
|
||||
} else if (!length) {
|
||||
|
@ -620,8 +620,8 @@ export function dtoa_core(buffer: usize, value: f64): i32 {
|
||||
|
||||
export function dtoa(value: f64): String {
|
||||
if (value == 0) return "0.0";
|
||||
if (!isFinite(value)) {
|
||||
if (isNaN(value)) return "NaN";
|
||||
if (!isFinite<f64>(value)) {
|
||||
if (isNaN<f64>(value)) return "NaN";
|
||||
return select<String>("-Infinity", "Infinity", value < 0);
|
||||
}
|
||||
var temp = ALLOCATE(MAX_DOUBLE_LENGTH << 1);
|
||||
@ -681,8 +681,8 @@ export function dtoa_stream(buffer: usize, offset: usize, value: f64): u32 {
|
||||
store<u16>(buffer, CharCode._0, 4);
|
||||
return 3;
|
||||
}
|
||||
if (!isFinite(value)) {
|
||||
if (isNaN(value)) {
|
||||
if (!isFinite<f64>(value)) {
|
||||
if (isNaN<f64>(value)) {
|
||||
store<u16>(buffer, CharCode.N);
|
||||
store<u16>(buffer, CharCode.a, 2);
|
||||
store<u16>(buffer, CharCode.N, 4);
|
||||
|
@ -83,24 +83,24 @@
|
||||
local.get $0
|
||||
i32.reinterpret_f32
|
||||
local.tee $1
|
||||
i32.const -2147483648
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $1
|
||||
i32.const 23
|
||||
i32.shr_u
|
||||
i32.const 255
|
||||
i32.and
|
||||
local.set $2
|
||||
local.get $1
|
||||
i32.const -2147483648
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.tee $2
|
||||
i32.const 255
|
||||
i32.eq
|
||||
local.tee $3
|
||||
if (result i32)
|
||||
local.get $3
|
||||
else
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $3
|
||||
end
|
||||
local.get $3
|
||||
if
|
||||
local.get $0
|
||||
local.get $0
|
||||
@ -151,7 +151,7 @@
|
||||
local.get $1
|
||||
i32.const 8388608
|
||||
i32.ge_u
|
||||
if
|
||||
if (result i32)
|
||||
local.get $1
|
||||
i32.const 8388608
|
||||
i32.eq
|
||||
@ -159,9 +159,9 @@
|
||||
local.get $1
|
||||
i32.const 8388608
|
||||
i32.sub
|
||||
local.set $1
|
||||
end
|
||||
else
|
||||
local.get $1
|
||||
end
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.set $1
|
||||
@ -254,29 +254,29 @@
|
||||
(local $1 i64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
(local $5 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
local.get $0
|
||||
i64.reinterpret_f64
|
||||
local.tee $1
|
||||
i64.const 63
|
||||
i64.shr_u
|
||||
local.set $5
|
||||
local.get $1
|
||||
i64.const 52
|
||||
i64.shr_u
|
||||
i64.const 2047
|
||||
i64.and
|
||||
local.set $2
|
||||
local.get $1
|
||||
i64.const 63
|
||||
i64.shr_u
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.tee $2
|
||||
i64.const 2047
|
||||
i64.eq
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $5
|
||||
else
|
||||
local.tee $4
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $4
|
||||
end
|
||||
local.get $4
|
||||
if
|
||||
local.get $0
|
||||
local.get $0
|
||||
@ -330,7 +330,7 @@
|
||||
local.get $1
|
||||
i64.const 4503599627370496
|
||||
i64.ge_u
|
||||
if
|
||||
if (result i64)
|
||||
local.get $1
|
||||
i64.const 4503599627370496
|
||||
i64.eq
|
||||
@ -338,9 +338,9 @@
|
||||
local.get $1
|
||||
i64.const 4503599627370496
|
||||
i64.sub
|
||||
local.set $1
|
||||
end
|
||||
else
|
||||
local.get $1
|
||||
end
|
||||
i64.const 1
|
||||
i64.shl
|
||||
local.set $1
|
||||
@ -395,7 +395,7 @@
|
||||
i64.add
|
||||
i64.shr_u
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i64.const 63
|
||||
i64.shl
|
||||
i64.or
|
||||
|
@ -2,7 +2,9 @@
|
||||
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
|
||||
(type $FUNCSIG$ddi (func (param f64 i32) (result f64)))
|
||||
(type $FUNCSIG$fff (func (param f32 f32) (result f32)))
|
||||
(type $FUNCSIG$if (func (param f32) (result i32)))
|
||||
(type $FUNCSIG$ffi (func (param f32 i32) (result f32)))
|
||||
(type $FUNCSIG$id (func (param f64) (result i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(memory $0 0)
|
||||
(table $0 1 funcref)
|
||||
@ -1195,7 +1197,12 @@
|
||||
local.get $16
|
||||
f64.mul
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 2 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $~lib/builtins/isNaN<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.ne
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 3 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1248,13 +1255,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1451,7 +1453,7 @@
|
||||
local.get $2
|
||||
f32.reinterpret_i32
|
||||
)
|
||||
(func $~lib/math/NativeMathf.scalbn (; 3 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32)
|
||||
(func $~lib/math/NativeMathf.scalbn (; 4 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32)
|
||||
(local $2 f32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -1541,7 +1543,7 @@
|
||||
f32.reinterpret_i32
|
||||
f32.mul
|
||||
)
|
||||
(func $~lib/math/NativeMathf.pow (; 4 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.pow (; 5 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -2479,7 +2481,12 @@
|
||||
local.get $11
|
||||
f32.mul
|
||||
)
|
||||
(func $~lib/math/NativeMath.mod (; 5 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/builtins/isNaN<f64> (; 6 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/math/NativeMath.mod (; 7 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
@ -2532,13 +2539,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f64.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -2737,7 +2739,7 @@
|
||||
local.get $2
|
||||
f64.reinterpret_i64
|
||||
)
|
||||
(func $start:binary (; 6 ;) (type $FUNCSIG$v)
|
||||
(func $start:binary (; 8 ;) (type $FUNCSIG$v)
|
||||
global.get $binary/i
|
||||
i32.const 1
|
||||
i32.lt_s
|
||||
@ -3345,9 +3347,9 @@
|
||||
call $~lib/math/NativeMath.pow
|
||||
global.set $binary/F
|
||||
)
|
||||
(func $start (; 7 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 9 ;) (type $FUNCSIG$v)
|
||||
call $start:binary
|
||||
)
|
||||
(func $null (; 8 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 10 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -1,5 +1,7 @@
|
||||
(module
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$if (func (param f32) (result i32)))
|
||||
(type $FUNCSIG$id (func (param f64) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
@ -54,16 +56,38 @@
|
||||
(export "table" (table $0))
|
||||
(export "test" (func $builtins/test))
|
||||
(start $start)
|
||||
(func $start:builtins~anonymous|0 (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/builtins/isNaN<f32> (; 1 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.ne
|
||||
)
|
||||
(func $~lib/builtins/isFinite<f32> (; 2 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
)
|
||||
(func $~lib/builtins/isNaN<f64> (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/builtins/isFinite<f64> (; 4 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
)
|
||||
(func $start:builtins~anonymous|0 (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
nop
|
||||
)
|
||||
(func $start:builtins (; 2 ;) (type $FUNCSIG$v)
|
||||
(func $start:builtins (; 6 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 f32)
|
||||
(local $5 f64)
|
||||
i32.const 1
|
||||
i32.eqz
|
||||
if
|
||||
@ -728,15 +752,8 @@
|
||||
f32.const 1.25
|
||||
f32.trunc
|
||||
drop
|
||||
block $~lib/builtins/isNaN<f32>|inlined.0 (result i32)
|
||||
f32.const 1.25
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -748,15 +765,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f32>|inlined.1 (result i32)
|
||||
f32.const nan:0x400000
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -768,17 +778,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f32>|inlined.0 (result i32)
|
||||
f32.const 1.25
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -790,17 +791,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f32>|inlined.1 (result i32)
|
||||
f32.const inf
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -812,18 +804,9 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f32>|inlined.2 (result i32)
|
||||
f32.const inf
|
||||
f32.neg
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -835,17 +818,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f32>|inlined.3 (result i32)
|
||||
f32.const nan:0x400000
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -891,27 +865,11 @@
|
||||
f32.const 1.25
|
||||
f32.trunc
|
||||
global.set $builtins/f
|
||||
block $~lib/builtins/isNaN<f32>|inlined.2 (result i32)
|
||||
f32.const 1.25
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
global.set $builtins/b
|
||||
block $~lib/builtins/isFinite<f32>|inlined.4 (result i32)
|
||||
f32.const 1.25
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
global.set $builtins/b
|
||||
f64.const nan:0x8000000000000
|
||||
drop
|
||||
@ -951,15 +909,8 @@
|
||||
f64.const 1.25
|
||||
f64.trunc
|
||||
drop
|
||||
block $~lib/builtins/isNaN<f64>|inlined.0 (result i32)
|
||||
f64.const 1.25
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -971,15 +922,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f64>|inlined.1 (result i32)
|
||||
f64.const nan:0x8000000000000
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -991,17 +935,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f64>|inlined.0 (result i32)
|
||||
f64.const 1.25
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -1013,17 +948,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f64>|inlined.1 (result i32)
|
||||
f64.const inf
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -1035,18 +961,9 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f64>|inlined.2 (result i32)
|
||||
f64.const inf
|
||||
f64.neg
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -1058,17 +975,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f64>|inlined.3 (result i32)
|
||||
f64.const nan:0x8000000000000
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -1114,27 +1022,11 @@
|
||||
f64.const 1.25
|
||||
f64.trunc
|
||||
global.set $builtins/F
|
||||
block $~lib/builtins/isNaN<f64>|inlined.2 (result i32)
|
||||
f64.const 1.25
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
global.set $builtins/b
|
||||
block $~lib/builtins/isFinite<f64>|inlined.4 (result i32)
|
||||
f64.const 1.25
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
global.set $builtins/b
|
||||
i32.const 8
|
||||
i32.load
|
||||
@ -1664,15 +1556,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f32>|inlined.3 (result i32)
|
||||
f32.const nan:0x400000
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -1682,15 +1567,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f64>|inlined.3 (result i32)
|
||||
f64.const nan:0x8000000000000
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -1700,17 +1578,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f32>|inlined.5 (result i32)
|
||||
f32.const nan:0x400000
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@ -1721,17 +1590,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f32>|inlined.6 (result i32)
|
||||
f32.const inf
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@ -1742,17 +1602,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f64>|inlined.5 (result i32)
|
||||
f64.const nan:0x8000000000000
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@ -1763,17 +1614,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f64>|inlined.6 (result i32)
|
||||
f64.const inf
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@ -1784,17 +1626,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f32>|inlined.7 (result i32)
|
||||
f32.const 0
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -1804,17 +1637,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isFinite<f64>|inlined.7 (result i32)
|
||||
f64.const 0
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -2391,21 +2215,16 @@
|
||||
f64.const 1
|
||||
f64.trunc
|
||||
drop
|
||||
block $~lib/builtins/isNaN<f64>|inlined.4 (result i32)
|
||||
f64.const 1
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $5
|
||||
f64.ne
|
||||
end
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
drop
|
||||
)
|
||||
(func $builtins/test (; 3 ;) (type $FUNCSIG$v)
|
||||
(func $builtins/test (; 7 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
(func $start (; 4 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 8 ;) (type $FUNCSIG$v)
|
||||
call $start:builtins
|
||||
)
|
||||
(func $null (; 5 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 9 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -106,7 +106,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -120,7 +120,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -145,7 +145,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -160,7 +160,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -116,7 +116,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -130,7 +130,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -155,7 +155,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -170,7 +170,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -131,7 +131,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -145,7 +145,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -197,7 +197,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -212,7 +212,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -85,7 +85,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -99,7 +99,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -147,7 +147,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -162,7 +162,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -131,7 +131,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -145,7 +145,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -411,7 +411,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -426,7 +426,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -61,7 +61,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -76,7 +76,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -302,7 +302,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -316,7 +316,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -399,7 +399,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -414,7 +414,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3609,7 +3609,12 @@
|
||||
i32.const 1792
|
||||
end
|
||||
)
|
||||
(func $~lib/number/F32.isSafeInteger (; 27 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(func $~lib/builtins/isNaN<f32> (; 27 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.ne
|
||||
)
|
||||
(func $~lib/number/F32.isSafeInteger (; 28 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
f32.abs
|
||||
@ -3625,31 +3630,28 @@
|
||||
local.get $1
|
||||
end
|
||||
)
|
||||
(func $~lib/number/F32.isInteger (; 28 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(local $1 f32)
|
||||
(local $2 i32)
|
||||
block $~lib/builtins/isFinite<f32>|inlined.0 (result i32)
|
||||
(func $~lib/builtins/isFinite<f32> (; 29 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
local.set $1
|
||||
local.get $1
|
||||
local.get $1
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
end
|
||||
local.tee $2
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/number/F32.isInteger (; 30 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
call $~lib/builtins/isFinite<f32>
|
||||
local.tee $1
|
||||
if (result i32)
|
||||
local.get $0
|
||||
f32.trunc
|
||||
local.get $0
|
||||
f32.eq
|
||||
else
|
||||
local.get $2
|
||||
local.get $1
|
||||
end
|
||||
)
|
||||
(func $~lib/number/F64.isSafeInteger (; 29 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/number/F64.isSafeInteger (; 31 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
f64.abs
|
||||
@ -3665,34 +3667,22 @@
|
||||
local.get $1
|
||||
end
|
||||
)
|
||||
(func $~lib/number/F64.isInteger (; 30 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
block $~lib/builtins/isFinite<f64>|inlined.0 (result i32)
|
||||
(func $~lib/number/F64.isInteger (; 32 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
local.set $1
|
||||
local.get $1
|
||||
local.get $1
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
end
|
||||
local.tee $2
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isFinite<f64>
|
||||
local.tee $1
|
||||
if (result i32)
|
||||
local.get $0
|
||||
f64.trunc
|
||||
local.get $0
|
||||
f64.eq
|
||||
else
|
||||
local.get $2
|
||||
local.get $1
|
||||
end
|
||||
)
|
||||
(func $start:number (; 31 ;) (type $FUNCSIG$v)
|
||||
(func $start:number (; 33 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 f32)
|
||||
(local $2 f64)
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
i32.const 7
|
||||
i32.add
|
||||
@ -3874,15 +3864,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f32>|inlined.0 (result i32)
|
||||
global.get $~lib/number/F32.NaN
|
||||
local.set $1
|
||||
local.get $1
|
||||
local.get $1
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -4015,8 +3998,6 @@
|
||||
end
|
||||
f32.const 0
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4030,8 +4011,6 @@
|
||||
end
|
||||
f32.const -0
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4046,8 +4025,6 @@
|
||||
f32.const nan:0x400000
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4061,8 +4038,6 @@
|
||||
f32.const inf
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4076,8 +4051,6 @@
|
||||
global.get $~lib/builtins/f32.EPSILON
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4090,8 +4063,6 @@
|
||||
end
|
||||
f32.const 1
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4105,8 +4076,6 @@
|
||||
end
|
||||
f32.const -1
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4120,8 +4089,6 @@
|
||||
end
|
||||
global.get $~lib/builtins/f32.MIN_SAFE_INTEGER
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4135,8 +4102,6 @@
|
||||
end
|
||||
global.get $~lib/builtins/f32.MAX_SAFE_INTEGER
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4151,8 +4116,6 @@
|
||||
f32.const 0.5
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4166,8 +4129,6 @@
|
||||
f32.const -1.5
|
||||
call $~lib/number/F32.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4178,15 +4139,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f64>|inlined.0 (result i32)
|
||||
global.get $~lib/number/F64.NaN
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.get $2
|
||||
f64.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -4319,8 +4273,6 @@
|
||||
end
|
||||
f64.const 0
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4334,8 +4286,6 @@
|
||||
end
|
||||
f64.const -0
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4350,8 +4300,6 @@
|
||||
f64.const nan:0x8000000000000
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4365,8 +4313,6 @@
|
||||
f64.const inf
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4380,8 +4326,6 @@
|
||||
global.get $~lib/builtins/f64.EPSILON
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4394,8 +4338,6 @@
|
||||
end
|
||||
f64.const 1
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4409,8 +4351,6 @@
|
||||
end
|
||||
f64.const -1
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4424,8 +4364,6 @@
|
||||
end
|
||||
global.get $~lib/builtins/f64.MIN_SAFE_INTEGER
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4439,8 +4377,6 @@
|
||||
end
|
||||
global.get $~lib/builtins/f64.MAX_SAFE_INTEGER
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@ -4455,8 +4391,6 @@
|
||||
f64.const 0.5
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4470,8 +4404,6 @@
|
||||
f64.const -1.5
|
||||
call $~lib/number/F64.isInteger
|
||||
i32.const 0
|
||||
i32.ne
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -4483,9 +4415,9 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 32 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 34 ;) (type $FUNCSIG$v)
|
||||
call $start:number
|
||||
)
|
||||
(func $null (; 33 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 35 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -106,7 +106,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -120,7 +120,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -147,7 +147,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -162,7 +162,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -100,7 +100,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -114,7 +114,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -154,7 +154,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -169,7 +169,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -216,11 +216,16 @@
|
||||
(data (i32.const 6296) "\02\00\00\00\10\00\00\00\c8\15\00\00h\18\00\00\00\00\00\00x\18")
|
||||
(data (i32.const 6320) "\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004")
|
||||
(data (i32.const 6344) "\02\00\00\00\08\00\00\00\01\00\00\00\02")
|
||||
(data (i32.const 6360) "\02\00\00\00\08\00\00\00\03\00\00\00\04")
|
||||
(data (i32.const 6376) "\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004")
|
||||
(data (i32.const 6400) "\02\00\00\00\02\00\00\00\01\02")
|
||||
(data (i32.const 6416) "\02\00\00\00\02\00\00\00\03\04")
|
||||
(data (i32.const 6432) "\02\00\00\00\04\00\00\00\01")
|
||||
(data (i32.const 6360) "\02\00\00\00\08\00\00\00\01\00\00\00\02")
|
||||
(data (i32.const 6376) "\02\00\00\00\08\00\00\00\03\00\00\00\04")
|
||||
(data (i32.const 6392) "\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004")
|
||||
(data (i32.const 6416) "\02\00\00\00\02\00\00\00\01\02")
|
||||
(data (i32.const 6432) "\02\00\00\00\02\00\00\00\01\02")
|
||||
(data (i32.const 6448) "\02\00\00\00\02\00\00\00\03\04")
|
||||
(data (i32.const 6464) "\02\00\00\00\04\00\00\00\01")
|
||||
(data (i32.const 6480) "\02\00\00\00\04\00\00\00\01")
|
||||
(data (i32.const 6496) "\02\00\00\00\04\00\00\00\01")
|
||||
(data (i32.const 6512) "\02\00\00\00\04\00\00\00\01")
|
||||
(table $0 56 funcref)
|
||||
(elem (i32.const 0) $null $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|16 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|29 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|29 $start:std/array~anonymous|35 $start:std/array~anonymous|29 $start:std/array~anonymous|29 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|29 $start:std/array~anonymous|35 $~lib/util/sort/COMPARATOR<f32>~anonymous|0 $~lib/util/sort/COMPARATOR<f64>~anonymous|0 $~lib/util/sort/COMPARATOR<i32>~anonymous|0 $~lib/util/sort/COMPARATOR<u32>~anonymous|0 $~lib/util/sort/COMPARATOR<i32>~anonymous|0 $~lib/util/sort/COMPARATOR<i32>~anonymous|0 $start:std/array~anonymous|44 $~lib/util/sort/COMPARATOR<i32>~anonymous|0 $start:std/array~anonymous|44 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<String>~anonymous|0)
|
||||
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
|
||||
@ -591,12 +596,12 @@
|
||||
)
|
||||
(func $~lib/runtime/assertUnregistered (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
i32.const 6444
|
||||
i32.const 6524
|
||||
i32.le_u
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -610,7 +615,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -658,7 +663,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2142,7 +2147,7 @@
|
||||
i32.shl
|
||||
i32.const 0
|
||||
local.get $0
|
||||
i32.const 6444
|
||||
i32.const 6524
|
||||
i32.gt_u
|
||||
select
|
||||
i32.const 1
|
||||
@ -2183,7 +2188,7 @@
|
||||
i32.eq
|
||||
if
|
||||
local.get $0
|
||||
i32.const 6444
|
||||
i32.const 6524
|
||||
i32.le_u
|
||||
if
|
||||
i32.const 0
|
||||
@ -2293,7 +2298,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 195
|
||||
i32.const 199
|
||||
i32.const 20
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2560,7 +2565,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 253
|
||||
i32.const 260
|
||||
i32.const 20
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -4091,7 +4096,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -4587,7 +4592,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -5106,7 +5111,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -5431,7 +5436,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -9685,7 +9690,8 @@
|
||||
(func $start:std/array (; 158 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
i32.const 6448
|
||||
(local $2 i32)
|
||||
i32.const 6528
|
||||
global.set $~lib/allocator/arena/startOffset
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
global.set $~lib/allocator/arena/offset
|
||||
@ -13217,6 +13223,8 @@
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
global.get $std/array/f32ArrayTyped
|
||||
local.set $1
|
||||
i32.const 0
|
||||
local.set $0
|
||||
block $1of1
|
||||
block $0of1
|
||||
@ -13227,10 +13235,10 @@
|
||||
unreachable
|
||||
end
|
||||
i32.const 44
|
||||
local.set $1
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
call $~lib/array/Array<f32>#sort
|
||||
global.get $std/array/f32ArrayTyped
|
||||
i32.const 2576
|
||||
@ -13250,9 +13258,9 @@
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
global.get $std/array/f64ArrayTyped
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 0
|
||||
local.set $0
|
||||
block $1of143
|
||||
block $0of144
|
||||
block $outOfRange45
|
||||
@ -13262,10 +13270,10 @@
|
||||
unreachable
|
||||
end
|
||||
i32.const 45
|
||||
local.set $1
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
call $~lib/array/Array<f64>#sort
|
||||
global.get $std/array/f64ArrayTyped
|
||||
i32.const 2712
|
||||
@ -13285,9 +13293,9 @@
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
global.get $std/array/i32ArrayTyped
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 0
|
||||
local.set $0
|
||||
block $1of146
|
||||
block $0of147
|
||||
block $outOfRange48
|
||||
@ -13297,10 +13305,10 @@
|
||||
unreachable
|
||||
end
|
||||
i32.const 46
|
||||
local.set $1
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
call $~lib/array/Array<i32>#sort
|
||||
drop
|
||||
global.get $std/array/i32ArrayTyped
|
||||
@ -13322,9 +13330,9 @@
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
global.get $std/array/u32ArrayTyped
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 0
|
||||
local.set $0
|
||||
block $1of149
|
||||
block $0of150
|
||||
block $outOfRange51
|
||||
@ -13334,10 +13342,10 @@
|
||||
unreachable
|
||||
end
|
||||
i32.const 47
|
||||
local.set $1
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
call $~lib/array/Array<i32>#sort
|
||||
drop
|
||||
global.get $std/array/u32ArrayTyped
|
||||
@ -13650,17 +13658,16 @@
|
||||
i32.const 3
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
i32.const 0
|
||||
i32.load offset=4
|
||||
local.tee $1
|
||||
call $std/array/Ref#constructor
|
||||
call $~lib/array/Array<i32>#__set
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.store
|
||||
local.get $1
|
||||
i32.const 0
|
||||
call $~lib/array/Array<i32>#__set
|
||||
local.get $0
|
||||
i32.const 2
|
||||
i32.store offset=4
|
||||
local.get $1
|
||||
call $std/array/Ref#constructor
|
||||
call $~lib/array/Array<i32>#__set
|
||||
i32.store offset=8
|
||||
local.get $0
|
||||
global.set $std/array/refArr
|
||||
global.get $std/array/refArr
|
||||
@ -13823,25 +13830,25 @@
|
||||
end
|
||||
i32.const 2
|
||||
call $~lib/array/Array<Array<i32>>#constructor
|
||||
local.tee $1
|
||||
i32.load offset=4
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.const 6352
|
||||
i32.const 4
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
call $~lib/array/Array<i32>#__set
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.const 6368
|
||||
i32.const 4
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
call $~lib/array/Array<i32>#__set
|
||||
i32.store
|
||||
local.get $0
|
||||
i32.const 6384
|
||||
i32.const 4
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
i32.store offset=4
|
||||
local.get $1
|
||||
global.set $std/array/subarr32
|
||||
global.get $std/array/subarr32
|
||||
call $~lib/array/Array<Array<i32>>#join_arr
|
||||
i32.const 6384
|
||||
i32.const 6400
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -13866,24 +13873,24 @@
|
||||
i32.const 2
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
i32.const 0
|
||||
i32.const 6408
|
||||
i32.load offset=4
|
||||
local.tee $1
|
||||
i32.const 6440
|
||||
i32.const 7
|
||||
i32.const 0
|
||||
call $~lib/runtime/doWrapArray
|
||||
call $~lib/array/Array<i32>#__set
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.const 6424
|
||||
i32.store
|
||||
local.get $1
|
||||
i32.const 6456
|
||||
i32.const 7
|
||||
i32.const 0
|
||||
call $~lib/runtime/doWrapArray
|
||||
call $~lib/array/Array<i32>#__set
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
global.set $std/array/subarr8
|
||||
global.get $std/array/subarr8
|
||||
call $~lib/array/Array<Array<u8>>#join_arr
|
||||
i32.const 6384
|
||||
i32.const 6400
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -13907,6 +13914,9 @@
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $1
|
||||
i32.const 16
|
||||
call $~lib/runtime/doAllocate
|
||||
i32.const 24
|
||||
@ -13914,23 +13924,22 @@
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
call $~lib/runtime/ArrayBufferView#constructor
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
i32.const 0
|
||||
i32.store offset=12
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.store offset=12
|
||||
local.get $1
|
||||
i32.const 0
|
||||
i32.const 6440
|
||||
local.get $2
|
||||
i32.load offset=4
|
||||
i32.const 6520
|
||||
i32.const 8
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
call $~lib/array/Array<i32>#__set
|
||||
local.get $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $1
|
||||
call $~lib/array/Array<i32>#__set
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $0
|
||||
global.set $std/array/subarrU32
|
||||
global.get $std/array/subarrU32
|
||||
|
@ -210,11 +210,16 @@
|
||||
(data (i32.const 6296) "\02\00\00\00\10\00\00\00\c8\15\00\00h\18\00\00\00\00\00\00x\18\00\00")
|
||||
(data (i32.const 6320) "\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00")
|
||||
(data (i32.const 6344) "\02\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00")
|
||||
(data (i32.const 6360) "\02\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00")
|
||||
(data (i32.const 6376) "\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00")
|
||||
(data (i32.const 6400) "\02\00\00\00\02\00\00\00\01\02")
|
||||
(data (i32.const 6416) "\02\00\00\00\02\00\00\00\03\04")
|
||||
(data (i32.const 6432) "\02\00\00\00\04\00\00\00\01\00\00\00")
|
||||
(data (i32.const 6360) "\02\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00")
|
||||
(data (i32.const 6376) "\02\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00")
|
||||
(data (i32.const 6392) "\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00")
|
||||
(data (i32.const 6416) "\02\00\00\00\02\00\00\00\01\02")
|
||||
(data (i32.const 6432) "\02\00\00\00\02\00\00\00\01\02")
|
||||
(data (i32.const 6448) "\02\00\00\00\02\00\00\00\03\04")
|
||||
(data (i32.const 6464) "\02\00\00\00\04\00\00\00\01\00\00\00")
|
||||
(data (i32.const 6480) "\02\00\00\00\04\00\00\00\01\00\00\00")
|
||||
(data (i32.const 6496) "\02\00\00\00\04\00\00\00\01\00\00\00")
|
||||
(data (i32.const 6512) "\02\00\00\00\04\00\00\00\01\00\00\00")
|
||||
(table $0 56 funcref)
|
||||
(elem (i32.const 0) $null $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|4 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|35 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|39 $start:std/array~anonymous|40 $start:std/array~anonymous|41 $start:std/array~anonymous|42 $~lib/util/sort/COMPARATOR<f32>~anonymous|0 $~lib/util/sort/COMPARATOR<f64>~anonymous|0 $~lib/util/sort/COMPARATOR<i32>~anonymous|0 $~lib/util/sort/COMPARATOR<u32>~anonymous|0 $~lib/util/sort/COMPARATOR<i32>~anonymous|1 $start:std/array~anonymous|43 $start:std/array~anonymous|44 $start:std/array~anonymous|45 $start:std/array~anonymous|46 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<String>~anonymous|0)
|
||||
(global $~lib/runtime/GC_IMPLEMENTED i32 (i32.const 0))
|
||||
@ -285,7 +290,7 @@
|
||||
(global $std/array/subarr32 (mut i32) (i32.const 0))
|
||||
(global $std/array/subarr8 (mut i32) (i32.const 0))
|
||||
(global $std/array/subarrU32 (mut i32) (i32.const 0))
|
||||
(global $~lib/memory/HEAP_BASE i32 (i32.const 6444))
|
||||
(global $~lib/memory/HEAP_BASE i32 (i32.const 6524))
|
||||
(export "memory" (memory $0))
|
||||
(export "table" (table $0))
|
||||
(start $start)
|
||||
@ -666,7 +671,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -681,7 +686,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -745,7 +750,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2947,7 +2952,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 195
|
||||
i32.const 199
|
||||
i32.const 20
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3306,7 +3311,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 253
|
||||
i32.const 260
|
||||
i32.const 20
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -5278,7 +5283,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -5888,7 +5893,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -6523,7 +6528,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -7027,7 +7032,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -7598,7 +7603,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -7954,7 +7959,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -8211,7 +8216,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 208
|
||||
i32.const 357
|
||||
i32.const 373
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -11808,34 +11813,7 @@
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/Array<Ref | null>#__set (; 216 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.const 2
|
||||
call $~lib/array/ensureCapacity
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
i32.ge_s
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<Ref | null>#join_ref (; 217 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Ref | null>#join_ref (; 216 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -11997,18 +11975,18 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<Ref | null>#join (; 218 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Ref | null>#join (; 217 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<Ref | null>#join_ref
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<i32>#toString (; 219 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<i32>#toString (; 218 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<i32>#join
|
||||
)
|
||||
(func $~lib/util/number/itoa<i8> (; 220 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/itoa<i8> (; 219 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.shl
|
||||
@ -12017,7 +11995,7 @@
|
||||
call $~lib/util/number/itoa32
|
||||
return
|
||||
)
|
||||
(func $~lib/util/number/itoa_stream<i8> (; 221 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/itoa_stream<i8> (; 220 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -12092,7 +12070,7 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<i8>#join_int (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i8>#join_int (; 221 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -12238,25 +12216,25 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<i8>#join (; 223 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i8>#join (; 222 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<i8>#join_int
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<i8>#toString (; 224 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<i8>#toString (; 223 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<i8>#join
|
||||
)
|
||||
(func $~lib/util/number/itoa<u16> (; 225 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/itoa<u16> (; 224 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 65535
|
||||
i32.and
|
||||
call $~lib/util/number/utoa32
|
||||
return
|
||||
)
|
||||
(func $~lib/util/number/itoa_stream<u16> (; 226 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/itoa_stream<u16> (; 225 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -12301,7 +12279,7 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<u16>#join_int (; 227 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<u16>#join_int (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -12447,18 +12425,18 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<u16>#join (; 228 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<u16>#join (; 227 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<u16>#join_int
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<u16>#toString (; 229 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<u16>#toString (; 228 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<u16>#join
|
||||
)
|
||||
(func $~lib/util/number/decimalCount64 (; 230 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/decimalCount64 (; 229 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i64.const 1000000000000000
|
||||
@ -12527,7 +12505,7 @@
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $~lib/util/number/utoa64_lut (; 231 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(func $~lib/util/number/utoa64_lut (; 230 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
(local $5 i32)
|
||||
@ -12655,7 +12633,7 @@
|
||||
local.get $2
|
||||
call $~lib/util/number/utoa32_lut
|
||||
)
|
||||
(func $~lib/util/number/utoa64 (; 232 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/utoa64 (; 231 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -12735,12 +12713,12 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa<u64> (; 233 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/itoa<u64> (; 232 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
local.get $0
|
||||
call $~lib/util/number/utoa64
|
||||
return
|
||||
)
|
||||
(func $~lib/util/number/itoa_stream<u64> (; 234 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32)
|
||||
(func $~lib/util/number/itoa_stream<u64> (; 233 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -12806,7 +12784,7 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<u64>#join_int (; 235 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<u64>#join_int (; 234 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -12952,18 +12930,18 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<u64>#join (; 236 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<u64>#join (; 235 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<u64>#join_int
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<u64>#toString (; 237 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<u64>#toString (; 236 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<u64>#join
|
||||
)
|
||||
(func $~lib/util/number/itoa64 (; 238 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/itoa64 (; 237 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -13065,12 +13043,12 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa<i64> (; 239 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/itoa<i64> (; 238 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
local.get $0
|
||||
call $~lib/util/number/itoa64
|
||||
return
|
||||
)
|
||||
(func $~lib/util/number/itoa_stream<i64> (; 240 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32)
|
||||
(func $~lib/util/number/itoa_stream<i64> (; 239 ;) (type $FUNCSIG$iiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -13158,7 +13136,7 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<i64>#join_int (; 241 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i64>#join_int (; 240 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13304,23 +13282,23 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<i64>#join (; 242 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<i64>#join (; 241 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<i64>#join_int
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<i64>#toString (; 243 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<i64>#toString (; 242 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<i64>#join
|
||||
)
|
||||
(func $~lib/array/Array<String>#toString (; 244 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<String>#toString (; 243 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<String>#join
|
||||
)
|
||||
(func $~lib/array/Array<Array<i32>>#join_arr (; 245 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<i32>>#join_arr (; 244 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13424,18 +13402,18 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<Array<i32>>#join (; 246 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<i32>>#join (; 245 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<Array<i32>>#join_arr
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<Array<i32>>#toString (; 247 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<i32>>#toString (; 246 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<Array<i32>>#join
|
||||
)
|
||||
(func $~lib/array/Array<Array<u8>>#constructor (; 248 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<u8>>#constructor (; 247 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
if (result i32)
|
||||
@ -13460,41 +13438,14 @@
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/Array<Array<u8>>#__set (; 249 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.const 2
|
||||
call $~lib/array/ensureCapacity
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
i32.ge_s
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa<u8> (; 250 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/itoa<u8> (; 248 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 255
|
||||
i32.and
|
||||
call $~lib/util/number/utoa32
|
||||
return
|
||||
)
|
||||
(func $~lib/util/number/itoa_stream<u8> (; 251 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/itoa_stream<u8> (; 249 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -13539,7 +13490,7 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<u8>#join_int (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<u8>#join_int (; 250 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13685,13 +13636,13 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<u8>#join (; 253 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<u8>#join (; 251 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<u8>#join_int
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<Array<u8>>#join_arr (; 254 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<u8>>#join_arr (; 252 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13795,18 +13746,18 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<Array<u8>>#join (; 255 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<u8>>#join (; 253 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<Array<u8>>#join_arr
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<Array<u8>>#toString (; 256 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<u8>>#toString (; 254 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<Array<u8>>#join
|
||||
)
|
||||
(func $~lib/array/Array<Array<u32>>#constructor (; 257 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<u32>>#constructor (; 255 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
if (result i32)
|
||||
@ -13831,34 +13782,7 @@
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/Array<Array<u32>>#__set (; 258 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.const 2
|
||||
call $~lib/array/ensureCapacity
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
i32.ge_s
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#constructor (; 259 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#constructor (; 256 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
if (result i32)
|
||||
@ -13883,34 +13807,7 @@
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#__set (; 260 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.const 2
|
||||
call $~lib/array/ensureCapacity
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
i32.ge_s
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<Array<u32>>#join_arr (; 261 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<u32>>#join_arr (; 257 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -14014,13 +13911,13 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<Array<u32>>#join (; 262 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<u32>>#join (; 258 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<Array<u32>>#join_arr
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#join_arr (; 263 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#join_arr (; 259 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -14124,24 +14021,23 @@
|
||||
end
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#join (; 264 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#join (; 260 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/array/Array<Array<Array<u32>>>#join_arr
|
||||
return
|
||||
)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#toString (; 265 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<Array<Array<u32>>>#toString (; 261 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 3512
|
||||
call $~lib/array/Array<Array<Array<u32>>>#join
|
||||
)
|
||||
(func $start:std/array (; 266 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/array (; 262 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
global.get $~lib/memory/HEAP_BASE
|
||||
i32.const 7
|
||||
i32.add
|
||||
@ -18630,22 +18526,22 @@
|
||||
i32.const 0
|
||||
i32.const 3
|
||||
call $~lib/array/Array<Ref | null>#constructor
|
||||
local.set $0
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $1
|
||||
local.get $1
|
||||
i32.const 0
|
||||
call $std/array/Ref#constructor
|
||||
i32.store
|
||||
local.get $1
|
||||
i32.const 0
|
||||
i32.store offset=4
|
||||
local.get $1
|
||||
i32.const 0
|
||||
call $std/array/Ref#constructor
|
||||
call $~lib/array/Array<Ref | null>#__set
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.const 0
|
||||
call $~lib/array/Array<Ref | null>#__set
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.const 0
|
||||
call $std/array/Ref#constructor
|
||||
call $~lib/array/Array<Ref | null>#__set
|
||||
local.get $1
|
||||
i32.store offset=8
|
||||
local.get $0
|
||||
end
|
||||
global.set $std/array/refArr
|
||||
global.get $std/array/refArr
|
||||
@ -18831,35 +18727,36 @@
|
||||
i32.const 0
|
||||
i32.const 2
|
||||
call $~lib/array/Array<Array<i32>>#constructor
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 0
|
||||
block $~lib/runtime/WRAPARRAY<i32>|inlined.70 (result i32)
|
||||
i32.const 6352
|
||||
local.set $1
|
||||
local.get $1
|
||||
i32.const 4
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
end
|
||||
call $~lib/array/Array<Array<i32>>#__set
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.load offset=4
|
||||
local.set $0
|
||||
local.get $0
|
||||
block $~lib/runtime/WRAPARRAY<i32>|inlined.71 (result i32)
|
||||
i32.const 6368
|
||||
local.set $1
|
||||
local.get $1
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
end
|
||||
call $~lib/array/Array<Array<i32>>#__set
|
||||
i32.store
|
||||
local.get $0
|
||||
block $~lib/runtime/WRAPARRAY<i32>|inlined.72 (result i32)
|
||||
i32.const 6384
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 4
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
end
|
||||
i32.store offset=4
|
||||
local.get $1
|
||||
end
|
||||
global.set $std/array/subarr32
|
||||
global.get $std/array/subarr32
|
||||
call $~lib/array/Array<Array<i32>>#toString
|
||||
i32.const 6384
|
||||
i32.const 6400
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -18874,35 +18771,36 @@
|
||||
i32.const 0
|
||||
i32.const 2
|
||||
call $~lib/array/Array<Array<u8>>#constructor
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 0
|
||||
block $~lib/runtime/WRAPARRAY<u8>|inlined.5 (result i32)
|
||||
i32.const 6408
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 7
|
||||
i32.const 0
|
||||
call $~lib/runtime/doWrapArray
|
||||
end
|
||||
call $~lib/array/Array<Array<u8>>#__set
|
||||
local.get $3
|
||||
i32.const 1
|
||||
local.set $0
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $1
|
||||
local.get $1
|
||||
block $~lib/runtime/WRAPARRAY<u8>|inlined.6 (result i32)
|
||||
i32.const 6424
|
||||
i32.const 6440
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 7
|
||||
i32.const 0
|
||||
call $~lib/runtime/doWrapArray
|
||||
end
|
||||
call $~lib/array/Array<Array<u8>>#__set
|
||||
local.get $3
|
||||
i32.store
|
||||
local.get $1
|
||||
block $~lib/runtime/WRAPARRAY<u8>|inlined.7 (result i32)
|
||||
i32.const 6456
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.const 7
|
||||
i32.const 0
|
||||
call $~lib/runtime/doWrapArray
|
||||
end
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
end
|
||||
global.set $std/array/subarr8
|
||||
global.get $std/array/subarr8
|
||||
call $~lib/array/Array<Array<u8>>#toString
|
||||
i32.const 6384
|
||||
i32.const 6400
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@ -18917,29 +18815,33 @@
|
||||
i32.const 0
|
||||
i32.const 1
|
||||
call $~lib/array/Array<Array<Array<u32>>>#constructor
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.const 0
|
||||
local.set $0
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.set $1
|
||||
local.get $1
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
i32.const 1
|
||||
call $~lib/array/Array<Array<u32>>#constructor
|
||||
local.set $4
|
||||
local.get $4
|
||||
i32.const 0
|
||||
block $~lib/runtime/WRAPARRAY<u32>|inlined.8 (result i32)
|
||||
i32.const 6440
|
||||
local.set $2
|
||||
local.get $2
|
||||
i32.load offset=4
|
||||
local.set $3
|
||||
local.get $3
|
||||
block $~lib/runtime/WRAPARRAY<u32>|inlined.11 (result i32)
|
||||
i32.const 6520
|
||||
local.set $4
|
||||
local.get $4
|
||||
i32.const 8
|
||||
i32.const 2
|
||||
call $~lib/runtime/doWrapArray
|
||||
end
|
||||
call $~lib/array/Array<Array<u32>>#__set
|
||||
local.get $4
|
||||
i32.store
|
||||
local.get $2
|
||||
end
|
||||
call $~lib/array/Array<Array<Array<u32>>>#__set
|
||||
local.get $5
|
||||
i32.store
|
||||
local.get $0
|
||||
end
|
||||
global.set $std/array/subarrU32
|
||||
global.get $std/array/subarrU32
|
||||
@ -18956,9 +18858,9 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 267 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 263 ;) (type $FUNCSIG$v)
|
||||
call $start:std/array
|
||||
)
|
||||
(func $null (; 268 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 264 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -326,7 +326,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -340,7 +340,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1552,7 +1552,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -408,7 +408,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -423,7 +423,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2052,7 +2052,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -163,7 +163,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -177,7 +177,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -414,7 +414,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -429,7 +429,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -493,7 +493,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -90,7 +90,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -104,7 +104,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -154,7 +154,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -169,7 +169,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -123,7 +123,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -137,7 +137,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -160,7 +160,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -175,7 +175,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -6281,6 +6281,7 @@
|
||||
i64.const 63
|
||||
i64.shr_u
|
||||
local.set $8
|
||||
block (result i32)
|
||||
local.get $3
|
||||
i64.const 1
|
||||
i64.shl
|
||||
@ -6297,19 +6298,20 @@
|
||||
end
|
||||
local.get $6
|
||||
i32.eqz
|
||||
if
|
||||
end
|
||||
if (result i32)
|
||||
local.get $1
|
||||
local.get $1
|
||||
f64.ne
|
||||
local.set $6
|
||||
end
|
||||
else
|
||||
local.get $6
|
||||
end
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
f64.mul
|
||||
local.tee $1
|
||||
local.get $1
|
||||
local.tee $0
|
||||
local.get $0
|
||||
f64.div
|
||||
return
|
||||
end
|
||||
@ -6384,7 +6386,7 @@
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.ge_u
|
||||
if (result i64)
|
||||
if
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.eq
|
||||
@ -6392,9 +6394,9 @@
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.sub
|
||||
else
|
||||
local.get $2
|
||||
local.set $2
|
||||
end
|
||||
local.get $2
|
||||
i64.const 1
|
||||
i64.shl
|
||||
local.set $2
|
||||
@ -6508,6 +6510,7 @@
|
||||
i32.const -2147483648
|
||||
i32.and
|
||||
local.set $8
|
||||
block (result i32)
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.shl
|
||||
@ -6523,19 +6526,20 @@
|
||||
end
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
end
|
||||
if (result i32)
|
||||
local.get $1
|
||||
local.get $1
|
||||
f32.ne
|
||||
local.set $5
|
||||
end
|
||||
else
|
||||
local.get $5
|
||||
end
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
f32.mul
|
||||
local.tee $1
|
||||
local.get $1
|
||||
local.tee $0
|
||||
local.get $0
|
||||
f32.div
|
||||
return
|
||||
end
|
||||
@ -6604,7 +6608,7 @@
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.ge_u
|
||||
if (result i32)
|
||||
if
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.eq
|
||||
@ -6612,9 +6616,9 @@
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.sub
|
||||
else
|
||||
local.get $2
|
||||
local.set $2
|
||||
end
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.set $2
|
||||
|
@ -7798,13 +7798,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f64.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -8085,13 +8080,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -47424,17 +47414,10 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f32>|inlined.2 (result i32)
|
||||
f32.const nan:0x400000
|
||||
i32.const 1
|
||||
call $~lib/math/ipow32f
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -47444,17 +47427,10 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f32>|inlined.3 (result i32)
|
||||
f32.const nan:0x400000
|
||||
i32.const -1
|
||||
call $~lib/math/ipow32f
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -47464,17 +47440,10 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/builtins/isNaN<f32>|inlined.4 (result i32)
|
||||
f32.const nan:0x400000
|
||||
i32.const 2
|
||||
call $~lib/math/ipow32f
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $4
|
||||
f32.ne
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
|
@ -46,6 +46,7 @@
|
||||
i64.const 63
|
||||
i64.shr_u
|
||||
local.set $8
|
||||
block (result i32)
|
||||
local.get $3
|
||||
i64.const 1
|
||||
i64.shl
|
||||
@ -62,19 +63,20 @@
|
||||
end
|
||||
local.get $6
|
||||
i32.eqz
|
||||
if
|
||||
end
|
||||
if (result i32)
|
||||
local.get $1
|
||||
local.get $1
|
||||
f64.ne
|
||||
local.set $6
|
||||
end
|
||||
else
|
||||
local.get $6
|
||||
end
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
f64.mul
|
||||
local.tee $1
|
||||
local.get $1
|
||||
local.tee $0
|
||||
local.get $0
|
||||
f64.div
|
||||
return
|
||||
end
|
||||
@ -149,7 +151,7 @@
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.ge_u
|
||||
if (result i64)
|
||||
if
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.eq
|
||||
@ -157,9 +159,9 @@
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.sub
|
||||
else
|
||||
local.get $2
|
||||
local.set $2
|
||||
end
|
||||
local.get $2
|
||||
i64.const 1
|
||||
i64.shl
|
||||
local.set $2
|
||||
@ -298,6 +300,7 @@
|
||||
i32.const -2147483648
|
||||
i32.and
|
||||
local.set $8
|
||||
block (result i32)
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.shl
|
||||
@ -313,19 +316,20 @@
|
||||
end
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
end
|
||||
if (result i32)
|
||||
local.get $1
|
||||
local.get $1
|
||||
f32.ne
|
||||
local.set $5
|
||||
end
|
||||
else
|
||||
local.get $5
|
||||
end
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
f32.mul
|
||||
local.tee $1
|
||||
local.get $1
|
||||
local.tee $0
|
||||
local.get $0
|
||||
f32.div
|
||||
return
|
||||
end
|
||||
@ -394,7 +398,7 @@
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.ge_u
|
||||
if (result i32)
|
||||
if
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.eq
|
||||
@ -402,9 +406,9 @@
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.sub
|
||||
else
|
||||
local.get $2
|
||||
local.set $2
|
||||
end
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.set $2
|
||||
|
@ -1,13 +1,13 @@
|
||||
(module
|
||||
(type $FUNCSIG$iddd (func (param f64 f64 f64) (result i32)))
|
||||
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
|
||||
(type $FUNCSIG$idd (func (param f64 f64) (result i32)))
|
||||
(type $FUNCSIG$id (func (param f64) (result i32)))
|
||||
(type $FUNCSIG$idd (func (param f64 f64) (result i32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$ifff (func (param f32 f32 f32) (result i32)))
|
||||
(type $FUNCSIG$fff (func (param f32 f32) (result f32)))
|
||||
(type $FUNCSIG$iff (func (param f32 f32) (result i32)))
|
||||
(type $FUNCSIG$if (func (param f32) (result i32)))
|
||||
(type $FUNCSIG$iff (func (param f32 f32) (result i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(import "math" "mod" (func $std/mod/mod (param f64 f64) (result f64)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
@ -21,7 +21,12 @@
|
||||
(export "table" (table $0))
|
||||
(export "mod" (func $std/mod/mod))
|
||||
(start $start)
|
||||
(func $~lib/math/NativeMath.mod (; 2 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/builtins/isNaN<f64> (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/math/NativeMath.mod (; 3 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
@ -74,13 +79,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f64.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -279,11 +279,6 @@
|
||||
local.get $2
|
||||
f64.reinterpret_i64
|
||||
)
|
||||
(func $~lib/builtins/isNaN<f64> (; 3 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $std/mod/check<f64> (; 4 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32)
|
||||
local.get $1
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
@ -335,7 +330,12 @@
|
||||
local.get $3
|
||||
end
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 6 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $~lib/builtins/isNaN<f32> (; 6 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.ne
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 7 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -388,13 +388,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -591,11 +586,6 @@
|
||||
local.get $2
|
||||
f32.reinterpret_i32
|
||||
)
|
||||
(func $~lib/builtins/isNaN<f32> (; 7 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.ne
|
||||
)
|
||||
(func $std/mod/check<f32> (; 8 ;) (type $FUNCSIG$iff) (param $0 f32) (param $1 f32) (result i32)
|
||||
local.get $1
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
|
@ -84,7 +84,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -98,7 +98,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -147,7 +147,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -162,7 +162,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -167,7 +167,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -181,7 +181,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -215,7 +215,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -230,7 +230,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -1119,7 +1119,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 79
|
||||
i32.const 78
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1130,7 +1130,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 80
|
||||
i32.const 79
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1149,7 +1149,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 84
|
||||
i32.const 83
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1161,7 +1161,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 85
|
||||
i32.const 84
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1176,7 +1176,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 88
|
||||
i32.const 87
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1191,7 +1191,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 91
|
||||
i32.const 90
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1202,7 +1202,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 93
|
||||
i32.const 92
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1220,7 +1220,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 95
|
||||
i32.const 94
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1231,7 +1231,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 96
|
||||
i32.const 95
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1242,7 +1242,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 98
|
||||
i32.const 97
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1261,7 +1261,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 101
|
||||
i32.const 100
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1273,7 +1273,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 102
|
||||
i32.const 101
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1285,7 +1285,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 103
|
||||
i32.const 102
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1308,7 +1308,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 106
|
||||
i32.const 105
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1320,7 +1320,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 107
|
||||
i32.const 106
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1332,7 +1332,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 108
|
||||
i32.const 107
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1354,7 +1354,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 114
|
||||
i32.const 113
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1368,7 +1368,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 115
|
||||
i32.const 114
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1377,6 +1377,20 @@
|
||||
f32.load
|
||||
f32.const 1.100000023841858
|
||||
f32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 116
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
global.get $std/pointer/buf
|
||||
i32.const 4
|
||||
i32.add
|
||||
f32.load
|
||||
f32.const 1.2000000476837158
|
||||
f32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
@ -1385,20 +1399,6 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
global.get $std/pointer/buf
|
||||
i32.const 4
|
||||
i32.add
|
||||
f32.load
|
||||
f32.const 1.2000000476837158
|
||||
f32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 118
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 0
|
||||
f32.load
|
||||
f32.const 1.100000023841858
|
||||
@ -1406,7 +1406,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 120
|
||||
i32.const 119
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1418,7 +1418,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 121
|
||||
i32.const 120
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1436,7 +1436,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 124
|
||||
i32.const 123
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1450,7 +1450,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 125
|
||||
i32.const 124
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1462,7 +1462,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 126
|
||||
i32.const 125
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1477,7 +1477,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 129
|
||||
i32.const 128
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1489,7 +1489,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 130
|
||||
i32.const 129
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
class Pointer<T> {
|
||||
|
||||
// FIXME: does not inline, always yields a trampoline
|
||||
@inline constructor(offset: usize = 0) {
|
||||
return changetype<Pointer<T>>(offset);
|
||||
}
|
||||
|
@ -1767,7 +1767,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 79
|
||||
i32.const 78
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1783,7 +1783,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 80
|
||||
i32.const 79
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1817,7 +1817,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 84
|
||||
i32.const 83
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1835,7 +1835,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 85
|
||||
i32.const 84
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1861,7 +1861,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 88
|
||||
i32.const 87
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1887,7 +1887,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 91
|
||||
i32.const 90
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1903,7 +1903,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 93
|
||||
i32.const 92
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1927,7 +1927,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 95
|
||||
i32.const 94
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1943,7 +1943,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 96
|
||||
i32.const 95
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1959,7 +1959,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 98
|
||||
i32.const 97
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1991,7 +1991,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 101
|
||||
i32.const 100
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2009,7 +2009,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 102
|
||||
i32.const 101
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2027,7 +2027,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 103
|
||||
i32.const 102
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2055,7 +2055,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 106
|
||||
i32.const 105
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2073,7 +2073,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 107
|
||||
i32.const 106
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2091,7 +2091,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 108
|
||||
i32.const 107
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2130,7 +2130,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 114
|
||||
i32.const 113
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2153,7 +2153,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 115
|
||||
i32.const 114
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2176,7 +2176,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 117
|
||||
i32.const 116
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2199,7 +2199,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 118
|
||||
i32.const 117
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2212,7 +2212,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 120
|
||||
i32.const 119
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2225,7 +2225,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 121
|
||||
i32.const 120
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2263,7 +2263,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 124
|
||||
i32.const 123
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2286,7 +2286,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 125
|
||||
i32.const 124
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2299,7 +2299,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 126
|
||||
i32.const 125
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2320,7 +2320,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 129
|
||||
i32.const 128
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2333,7 +2333,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 130
|
||||
i32.const 129
|
||||
i32.const 0
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -2653,7 +2653,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2667,7 +2667,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -3342,7 +3342,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3357,7 +3357,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -11,11 +11,9 @@
|
||||
(type $FUNCSIG$iiji (func (param i32 i64 i32) (result i32)))
|
||||
(type $FUNCSIG$vij (func (param i32 i64)))
|
||||
(type $FUNCSIG$iif (func (param i32 f32) (result i32)))
|
||||
(type $FUNCSIG$if (func (param f32) (result i32)))
|
||||
(type $FUNCSIG$iifi (func (param i32 f32 i32) (result i32)))
|
||||
(type $FUNCSIG$vif (func (param i32 f32)))
|
||||
(type $FUNCSIG$iid (func (param i32 f64) (result i32)))
|
||||
(type $FUNCSIG$id (func (param f64) (result i32)))
|
||||
(type $FUNCSIG$iidi (func (param i32 f64 i32) (result i32)))
|
||||
(type $FUNCSIG$vid (func (param i32 f64)))
|
||||
(type $FUNCSIG$i (func (result i32)))
|
||||
@ -121,7 +119,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -135,7 +133,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2960,13 +2958,11 @@
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $1
|
||||
call $~lib/util/hash/hash32
|
||||
local.tee $2
|
||||
local.set $4
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $2
|
||||
local.get $1
|
||||
call $~lib/util/hash/hash32
|
||||
local.tee $4
|
||||
call $~lib/set/Set<i32>#find
|
||||
i32.eqz
|
||||
if
|
||||
@ -3888,13 +3884,11 @@
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $1
|
||||
call $~lib/util/hash/hash64
|
||||
local.tee $2
|
||||
local.set $4
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $2
|
||||
local.get $1
|
||||
call $~lib/util/hash/hash64
|
||||
local.tee $4
|
||||
call $~lib/set/Set<i64>#find
|
||||
i32.eqz
|
||||
if
|
||||
@ -4576,12 +4570,7 @@
|
||||
call $~lib/set/Set<i8>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/HASH<f32> (; 56 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
i32.reinterpret_f32
|
||||
call $~lib/util/hash/hash32
|
||||
)
|
||||
(func $~lib/set/Set<f32>#find (; 57 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<f32>#find (; 56 ;) (type $FUNCSIG$iifi) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -4624,16 +4613,17 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<f32>#has (; 58 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
(func $~lib/set/Set<f32>#has (; 57 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
call $~lib/util/hash/HASH<f32>
|
||||
i32.reinterpret_f32
|
||||
call $~lib/util/hash/hash32
|
||||
call $~lib/set/Set<f32>#find
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<f32>#rehash (; 59 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<f32>#rehash (; 58 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -4731,14 +4721,15 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<f32>#add (; 60 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(func $~lib/set/Set<f32>#add (; 59 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
call $~lib/util/hash/HASH<f32>
|
||||
i32.reinterpret_f32
|
||||
call $~lib/util/hash/hash32
|
||||
local.tee $4
|
||||
call $~lib/set/Set<f32>#find
|
||||
i32.eqz
|
||||
@ -4814,7 +4805,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<f32>#delete (; 61 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(func $~lib/set/Set<f32>#delete (; 60 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -4876,7 +4867,7 @@
|
||||
call $~lib/set/Set<f32>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/test<f32> (; 62 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/test<f32> (; 61 ;) (type $FUNCSIG$v)
|
||||
(local $0 f32)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<f32>#constructor
|
||||
@ -5121,7 +5112,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<f64>#constructor (; 63 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/set/Set<f64>#constructor (; 62 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
i32.const 24
|
||||
call $~lib/runtime/doAllocate
|
||||
@ -5149,12 +5140,7 @@
|
||||
call $~lib/set/Set<i64>#clear
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/util/hash/HASH<f64> (; 64 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
i64.reinterpret_f64
|
||||
call $~lib/util/hash/hash64
|
||||
)
|
||||
(func $~lib/set/Set<f64>#find (; 65 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
|
||||
(func $~lib/set/Set<f64>#find (; 63 ;) (type $FUNCSIG$iidi) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $0
|
||||
@ -5197,16 +5183,17 @@
|
||||
end
|
||||
i32.const 0
|
||||
)
|
||||
(func $~lib/set/Set<f64>#has (; 66 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/set/Set<f64>#has (; 64 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
call $~lib/util/hash/HASH<f64>
|
||||
i64.reinterpret_f64
|
||||
call $~lib/util/hash/hash64
|
||||
call $~lib/set/Set<f64>#find
|
||||
i32.const 0
|
||||
i32.ne
|
||||
)
|
||||
(func $~lib/set/Set<f64>#rehash (; 67 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/set/Set<f64>#rehash (; 65 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -5304,14 +5291,15 @@
|
||||
i32.load offset=20
|
||||
i32.store offset=16
|
||||
)
|
||||
(func $~lib/set/Set<f64>#add (; 68 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(func $~lib/set/Set<f64>#add (; 66 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $1
|
||||
call $~lib/util/hash/HASH<f64>
|
||||
i64.reinterpret_f64
|
||||
call $~lib/util/hash/hash64
|
||||
local.tee $4
|
||||
call $~lib/set/Set<f64>#find
|
||||
i32.eqz
|
||||
@ -5387,7 +5375,7 @@
|
||||
i32.store
|
||||
end
|
||||
)
|
||||
(func $~lib/set/Set<f64>#delete (; 69 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(func $~lib/set/Set<f64>#delete (; 67 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@ -5449,7 +5437,7 @@
|
||||
call $~lib/set/Set<f64>#rehash
|
||||
end
|
||||
)
|
||||
(func $std/set/test<f64> (; 70 ;) (type $FUNCSIG$v)
|
||||
(func $std/set/test<f64> (; 68 ;) (type $FUNCSIG$v)
|
||||
(local $0 f64)
|
||||
(local $1 i32)
|
||||
call $~lib/set/Set<f64>#constructor
|
||||
@ -5694,7 +5682,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 71 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 69 ;) (type $FUNCSIG$v)
|
||||
i32.const 128
|
||||
global.set $~lib/allocator/arena/startOffset
|
||||
global.get $~lib/allocator/arena/startOffset
|
||||
@ -5710,7 +5698,7 @@
|
||||
call $std/set/test<f32>
|
||||
call $std/set/test<f64>
|
||||
)
|
||||
(func $null (; 72 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 70 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1514,7 +1514,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1528,7 +1528,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1596,7 +1596,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 443
|
||||
i32.const 447
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1643,7 +1643,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 447
|
||||
i32.const 451
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1716,7 +1716,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 459
|
||||
i32.const 463
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1769,7 +1769,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 468
|
||||
i32.const 472
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -1926,7 +1926,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1941,7 +1941,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2034,7 +2034,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 443
|
||||
i32.const 447
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2088,7 +2088,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 447
|
||||
i32.const 451
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2183,7 +2183,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 459
|
||||
i32.const 463
|
||||
i32.const 8
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2246,7 +2246,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 468
|
||||
i32.const 472
|
||||
i32.const 4
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -283,7 +283,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -297,7 +297,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2387,7 +2387,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 168
|
||||
i32.const 565
|
||||
i32.const 569
|
||||
i32.const 10
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3052,7 +3052,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3247,25 +3247,7 @@
|
||||
i32.store offset=8
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<String>#__set (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
i32.const 1
|
||||
call $~lib/array/ensureCapacity
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.store
|
||||
i32.const 0
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
i32.ge_s
|
||||
if
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<String>#push (; 36 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/array/Array<String>#push (; 35 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
@ -3288,23 +3270,7 @@
|
||||
local.get $1
|
||||
i32.store
|
||||
)
|
||||
(func $~lib/runtime/assertRegistered (; 37 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.sub
|
||||
i32.load
|
||||
i32.const -1520547049
|
||||
i32.eq
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 199
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/string/String#split (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#split (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -3330,24 +3296,17 @@
|
||||
call $~lib/array/Array<String>#constructor
|
||||
return
|
||||
end
|
||||
block $folding-inner0
|
||||
local.get $1
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 1
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.tee $3
|
||||
local.get $0
|
||||
call $~lib/array/Array<String>#__set
|
||||
local.get $3
|
||||
return
|
||||
end
|
||||
br_if $folding-inner0
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.sub
|
||||
i32.load offset=4
|
||||
i32.const 1
|
||||
i32.shr_u
|
||||
local.set $6
|
||||
local.set $4
|
||||
i32.const 2147483647
|
||||
local.get $2
|
||||
local.get $2
|
||||
@ -3365,111 +3324,112 @@
|
||||
local.set $9
|
||||
local.get $3
|
||||
if
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 1
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.tee $5
|
||||
local.tee $3
|
||||
i32.load offset=4
|
||||
i32.const 312
|
||||
i32.store
|
||||
local.get $5
|
||||
local.get $3
|
||||
return
|
||||
end
|
||||
else
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
call $~lib/array/Array<String>#constructor
|
||||
return
|
||||
end
|
||||
local.get $6
|
||||
local.tee $3
|
||||
local.get $4
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $4
|
||||
local.get $2
|
||||
i32.lt_s
|
||||
select
|
||||
local.tee $6
|
||||
local.tee $4
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.tee $3
|
||||
local.tee $7
|
||||
i32.load offset=4
|
||||
local.set $5
|
||||
local.set $3
|
||||
i32.const 0
|
||||
local.set $1
|
||||
loop $repeat|0
|
||||
local.get $1
|
||||
local.get $4
|
||||
local.get $6
|
||||
i32.lt_s
|
||||
if
|
||||
i32.const 2
|
||||
call $~lib/runtime/doAllocate
|
||||
local.tee $1
|
||||
local.get $4
|
||||
local.tee $2
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
i32.load16_u
|
||||
i32.store16
|
||||
local.get $4
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.add
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
i32.store
|
||||
local.get $4
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $1
|
||||
br $repeat|0
|
||||
end
|
||||
end
|
||||
local.get $3
|
||||
local.get $7
|
||||
return
|
||||
end
|
||||
i32.const 0
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.set $7
|
||||
local.set $5
|
||||
loop $continue|1
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $4
|
||||
local.get $6
|
||||
call $~lib/string/String#indexOf
|
||||
local.tee $8
|
||||
i32.const -1
|
||||
i32.ne
|
||||
if
|
||||
local.get $8
|
||||
local.get $4
|
||||
local.get $6
|
||||
i32.sub
|
||||
local.tee $5
|
||||
local.tee $3
|
||||
i32.const 0
|
||||
i32.gt_s
|
||||
if
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.tee $5
|
||||
call $~lib/runtime/doAllocate
|
||||
local.tee $3
|
||||
local.get $4
|
||||
call $~lib/runtime/doAllocate
|
||||
local.tee $7
|
||||
local.get $6
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.get $5
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $7
|
||||
local.get $3
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
call $~lib/array/Array<String>#push
|
||||
else
|
||||
local.get $7
|
||||
local.get $5
|
||||
i32.const 312
|
||||
call $~lib/array/Array<String>#push
|
||||
end
|
||||
@ -3480,36 +3440,21 @@
|
||||
local.get $2
|
||||
i32.eq
|
||||
if
|
||||
local.get $7
|
||||
local.get $5
|
||||
return
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $6
|
||||
br $continue|1
|
||||
end
|
||||
end
|
||||
local.get $4
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 1
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.tee $3
|
||||
i32.load offset=4
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/runtime/assertRegistered
|
||||
local.get $3
|
||||
call $~lib/runtime/assertRegistered
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.store
|
||||
local.get $3
|
||||
return
|
||||
end
|
||||
local.get $6
|
||||
i32.eqz
|
||||
br_if $folding-inner0
|
||||
local.get $4
|
||||
local.get $6
|
||||
i32.sub
|
||||
local.tee $1
|
||||
i32.const 0
|
||||
@ -3520,27 +3465,36 @@
|
||||
i32.shl
|
||||
local.tee $1
|
||||
call $~lib/runtime/doAllocate
|
||||
local.tee $5
|
||||
local.get $4
|
||||
local.tee $3
|
||||
local.get $6
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.get $1
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
call $~lib/array/Array<String>#push
|
||||
else
|
||||
local.get $7
|
||||
local.get $5
|
||||
i32.const 312
|
||||
call $~lib/array/Array<String>#push
|
||||
end
|
||||
local.get $7
|
||||
local.get $5
|
||||
return
|
||||
end
|
||||
i32.const 1
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.tee $3
|
||||
i32.load offset=4
|
||||
local.get $0
|
||||
i32.store
|
||||
local.get $3
|
||||
)
|
||||
(func $~lib/array/Array<String>#__get (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<String>#__get (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
@ -3563,7 +3517,7 @@
|
||||
i32.add
|
||||
i32.load
|
||||
)
|
||||
(func $~lib/util/number/decimalCount32 (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/decimalCount32 (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 100000
|
||||
i32.lt_u
|
||||
@ -3617,7 +3571,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/utoa32_lut (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(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 2060
|
||||
@ -3727,7 +3681,7 @@
|
||||
i32.store16
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa32 (; 42 ;) (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)
|
||||
@ -3769,7 +3723,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
)
|
||||
(func $~lib/util/number/utoa32 (; 43 ;) (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
|
||||
@ -3792,7 +3746,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
)
|
||||
(func $~lib/util/number/decimalCount64 (; 44 ;) (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
|
||||
@ -3846,7 +3800,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/utoa64_lut (; 45 ;) (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)
|
||||
@ -3943,7 +3897,7 @@
|
||||
local.get $2
|
||||
call $~lib/util/number/utoa32_lut
|
||||
)
|
||||
(func $~lib/util/number/utoa64 (; 46 ;) (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)
|
||||
@ -3985,7 +3939,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
)
|
||||
(func $~lib/util/number/itoa64 (; 47 ;) (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)
|
||||
@ -4050,7 +4004,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
)
|
||||
(func $~lib/util/number/genDigits (; 48 ;) (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)
|
||||
@ -4468,7 +4422,7 @@
|
||||
local.get $7
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/prettify (; 49 ;) (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
|
||||
@ -4729,7 +4683,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/dtoa_core (; 50 ;) (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 i32)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
@ -5041,7 +4995,7 @@
|
||||
local.get $12
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/string/String#substring (; 51 ;) (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)
|
||||
@ -5139,7 +5093,7 @@
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
)
|
||||
(func $~lib/util/number/dtoa (; 52 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa (; 50 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@ -5184,7 +5138,7 @@
|
||||
call $~lib/runtime/assertUnregistered
|
||||
local.get $1
|
||||
)
|
||||
(func $start:std/string (; 53 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/string (; 51 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
global.get $std/string/str
|
||||
i32.const 16
|
||||
@ -8511,13 +8465,13 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/string/getString (; 54 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $std/string/getString (; 52 ;) (type $FUNCSIG$i) (result i32)
|
||||
global.get $std/string/str
|
||||
)
|
||||
(func $start (; 55 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 53 ;) (type $FUNCSIG$v)
|
||||
call $start:std/string
|
||||
)
|
||||
(func $null (; 56 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 54 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@ -8,7 +8,6 @@
|
||||
(type $FUNCSIG$viii (func (param i32 i32 i32)))
|
||||
(type $FUNCSIG$dii (func (param i32 i32) (result f64)))
|
||||
(type $FUNCSIG$di (func (param i32) (result f64)))
|
||||
(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)))
|
||||
@ -354,7 +353,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -369,7 +368,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3010,7 +3009,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 168
|
||||
i32.const 565
|
||||
i32.const 569
|
||||
i32.const 10
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3782,7 +3781,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -4014,34 +4013,7 @@
|
||||
i32.store offset=8
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<String>#__set (; 41 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.const 2
|
||||
call $~lib/array/ensureCapacity
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
i32.ge_s
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.store offset=12
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<String>#push (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<String>#push (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
@ -4067,30 +4039,7 @@
|
||||
i32.store
|
||||
local.get $2
|
||||
)
|
||||
(func $~lib/runtime/assertRegistered (; 43 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
global.get $~lib/runtime/HEADER_SIZE
|
||||
i32.sub
|
||||
i32.load
|
||||
global.get $~lib/runtime/HEADER_MAGIC
|
||||
i32.ne
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 96
|
||||
i32.const 199
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/doLink (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
call $~lib/runtime/assertRegistered
|
||||
local.get $1
|
||||
call $~lib/runtime/assertRegistered
|
||||
)
|
||||
(func $~lib/string/String#split (; 45 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#split (; 42 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -4133,19 +4082,21 @@
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 0
|
||||
i32.load offset=4
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $0
|
||||
call $~lib/array/Array<String>#__set
|
||||
i32.store
|
||||
local.get $3
|
||||
end
|
||||
return
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/string/String#get:length
|
||||
local.set $4
|
||||
local.set $5
|
||||
local.get $1
|
||||
call $~lib/string/String#get:length
|
||||
local.set $5
|
||||
local.set $6
|
||||
local.get $2
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
@ -4153,10 +4104,10 @@
|
||||
global.get $~lib/builtins/i32.MAX_VALUE
|
||||
local.set $2
|
||||
end
|
||||
local.get $5
|
||||
local.get $6
|
||||
i32.eqz
|
||||
if
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@ -4164,28 +4115,28 @@
|
||||
call $~lib/array/Array<String>#constructor
|
||||
return
|
||||
end
|
||||
local.get $4
|
||||
local.tee $3
|
||||
local.get $5
|
||||
local.tee $4
|
||||
local.get $2
|
||||
local.tee $6
|
||||
local.tee $3
|
||||
local.get $4
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.lt_s
|
||||
select
|
||||
local.set $4
|
||||
local.set $5
|
||||
i32.const 0
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $4
|
||||
local.get $4
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
local.set $3
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $7
|
||||
loop $repeat|0
|
||||
local.get $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.lt_s
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
@ -4205,7 +4156,7 @@
|
||||
i32.add
|
||||
i32.load16_u
|
||||
i32.store16
|
||||
local.get $6
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -4228,21 +4179,21 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $3
|
||||
local.get $4
|
||||
return
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load offset=4
|
||||
i32.const 312
|
||||
i32.store
|
||||
local.get $6
|
||||
local.get $3
|
||||
return
|
||||
end
|
||||
end
|
||||
@ -4270,33 +4221,33 @@
|
||||
local.get $11
|
||||
local.get $12
|
||||
i32.sub
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 0
|
||||
i32.gt_s
|
||||
if
|
||||
block $~lib/runtime/ALLOCATE|inlined.9 (result i32)
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $4
|
||||
local.get $4
|
||||
call $~lib/runtime/doAllocate
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.get $0
|
||||
local.get $12
|
||||
i32.const 1
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.shl
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $10
|
||||
block $~lib/runtime/REGISTER<String>|inlined.8 (result i32)
|
||||
local.get $3
|
||||
local.get $4
|
||||
local.set $7
|
||||
local.get $7
|
||||
i32.const 1
|
||||
@ -4321,7 +4272,7 @@
|
||||
return
|
||||
end
|
||||
local.get $11
|
||||
local.get $5
|
||||
local.get $6
|
||||
i32.add
|
||||
local.set $12
|
||||
end
|
||||
@ -4335,23 +4286,15 @@
|
||||
i32.const 0
|
||||
i32.const 1
|
||||
call $~lib/array/Array<String>#constructor
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.tee $3
|
||||
i32.load offset=4
|
||||
block $~lib/runtime/LINK<String,Array<String>>|inlined.0 (result i32)
|
||||
local.get $0
|
||||
local.set $7
|
||||
local.get $7
|
||||
local.set $3
|
||||
local.get $3
|
||||
call $~lib/runtime/doLink
|
||||
local.get $7
|
||||
end
|
||||
i32.load offset=4
|
||||
local.get $0
|
||||
i32.store
|
||||
local.get $6
|
||||
local.get $3
|
||||
return
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.get $12
|
||||
i32.sub
|
||||
local.set $14
|
||||
@ -4363,12 +4306,12 @@
|
||||
local.get $14
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $3
|
||||
local.get $3
|
||||
call $~lib/runtime/doAllocate
|
||||
end
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.get $0
|
||||
local.get $12
|
||||
i32.const 1
|
||||
@ -4380,9 +4323,9 @@
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $10
|
||||
block $~lib/runtime/REGISTER<String>|inlined.9 (result i32)
|
||||
local.get $6
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $4
|
||||
local.get $4
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
@ -4396,11 +4339,11 @@
|
||||
end
|
||||
local.get $10
|
||||
)
|
||||
(func $~lib/array/Array<String>#get:length (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/array/Array<String>#get:length (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.load offset=12
|
||||
)
|
||||
(func $~lib/array/Array<String>#__get (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/array/Array<String>#__get (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=8
|
||||
@ -4423,7 +4366,7 @@
|
||||
i32.add
|
||||
i32.load
|
||||
)
|
||||
(func $~lib/util/number/decimalCount32 (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/decimalCount32 (; 45 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.const 100000
|
||||
@ -4492,7 +4435,7 @@
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $~lib/util/number/utoa32_lut (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/util/number/utoa32_lut (; 46 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -4635,7 +4578,7 @@
|
||||
i32.store16
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa32 (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/itoa32 (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -4699,7 +4642,7 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/utoa32 (; 51 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/utoa32 (; 48 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -4743,7 +4686,7 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/decimalCount64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/decimalCount64 (; 49 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i64.const 1000000000000000
|
||||
@ -4812,7 +4755,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 (; 50 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
(local $5 i32)
|
||||
@ -4940,7 +4883,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 (; 51 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -5020,7 +4963,7 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/itoa64 (; 55 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(func $~lib/util/number/itoa64 (; 52 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -5122,19 +5065,19 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/builtins/isFinite<f64> (; 56 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/builtins/isFinite<f64> (; 53 ;) (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> (; 54 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/util/number/genDigits (; 58 ;) (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 (; 55 ;) (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)
|
||||
@ -5705,7 +5648,7 @@
|
||||
end
|
||||
local.get $15
|
||||
)
|
||||
(func $~lib/util/number/prettify (; 59 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/prettify (; 56 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -6038,7 +5981,7 @@
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $~lib/util/number/dtoa_core (; 60 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa_core (; 57 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
(local $4 i32)
|
||||
@ -6484,7 +6427,7 @@
|
||||
local.get $2
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/string/String#substring (; 61 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/string/String#substring (; 58 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -6610,7 +6553,7 @@
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
)
|
||||
(func $~lib/runtime/doDiscard (; 62 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/runtime/doDiscard (; 59 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
call $~lib/runtime/assertUnregistered
|
||||
local.get $0
|
||||
@ -6618,7 +6561,7 @@
|
||||
i32.sub
|
||||
call $~lib/memory/memory.free
|
||||
)
|
||||
(func $~lib/util/number/dtoa (; 63 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa (; 60 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -6674,7 +6617,7 @@
|
||||
end
|
||||
local.get $4
|
||||
)
|
||||
(func $start:std/string (; 64 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/string (; 61 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -10066,12 +10009,12 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/string/getString (; 65 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $std/string/getString (; 62 ;) (type $FUNCSIG$i) (result i32)
|
||||
global.get $std/string/str
|
||||
)
|
||||
(func $start (; 66 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 63 ;) (type $FUNCSIG$v)
|
||||
call $start:std/string
|
||||
)
|
||||
(func $null (; 67 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 64 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@ -143,7 +143,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -157,7 +157,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -205,7 +205,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -220,7 +220,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -403,7 +403,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -417,7 +417,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -465,7 +465,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -8606,24 +8606,24 @@
|
||||
local.get $0
|
||||
i32.reinterpret_f32
|
||||
local.tee $1
|
||||
i32.const -2147483648
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $1
|
||||
i32.const 23
|
||||
i32.shr_u
|
||||
i32.const 255
|
||||
i32.and
|
||||
local.set $2
|
||||
local.get $1
|
||||
i32.const -2147483648
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.tee $2
|
||||
i32.const 255
|
||||
i32.eq
|
||||
local.tee $3
|
||||
if (result i32)
|
||||
local.get $3
|
||||
else
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $3
|
||||
end
|
||||
local.get $3
|
||||
if
|
||||
local.get $0
|
||||
f32.const 2
|
||||
@ -8677,7 +8677,7 @@
|
||||
local.get $1
|
||||
i32.const 8388608
|
||||
i32.ge_u
|
||||
if
|
||||
if (result i32)
|
||||
local.get $1
|
||||
i32.const 8388608
|
||||
i32.eq
|
||||
@ -8685,9 +8685,9 @@
|
||||
local.get $1
|
||||
i32.const 8388608
|
||||
i32.sub
|
||||
local.set $1
|
||||
end
|
||||
else
|
||||
local.get $1
|
||||
end
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.set $1
|
||||
@ -8843,29 +8843,29 @@
|
||||
(local $1 i64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
(local $5 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
local.get $0
|
||||
i64.reinterpret_f64
|
||||
local.tee $1
|
||||
i64.const 63
|
||||
i64.shr_u
|
||||
local.set $5
|
||||
local.get $1
|
||||
i64.const 52
|
||||
i64.shr_u
|
||||
i64.const 2047
|
||||
i64.and
|
||||
local.set $2
|
||||
local.get $1
|
||||
i64.const 63
|
||||
i64.shr_u
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.tee $2
|
||||
i64.const 2047
|
||||
i64.eq
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $5
|
||||
else
|
||||
local.tee $4
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $4
|
||||
end
|
||||
local.get $4
|
||||
if
|
||||
local.get $0
|
||||
f64.const 2
|
||||
@ -8922,7 +8922,7 @@
|
||||
local.get $1
|
||||
i64.const 4503599627370496
|
||||
i64.ge_u
|
||||
if
|
||||
if (result i64)
|
||||
local.get $1
|
||||
i64.const 4503599627370496
|
||||
i64.eq
|
||||
@ -8930,9 +8930,9 @@
|
||||
local.get $1
|
||||
i64.const 4503599627370496
|
||||
i64.sub
|
||||
local.set $1
|
||||
end
|
||||
else
|
||||
local.get $1
|
||||
end
|
||||
i64.const 1
|
||||
i64.shl
|
||||
local.set $1
|
||||
@ -8987,7 +8987,7 @@
|
||||
i64.add
|
||||
i64.shr_u
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i64.const 63
|
||||
i64.shl
|
||||
i64.or
|
||||
|
@ -27,7 +27,9 @@
|
||||
(type $FUNCSIG$ifii (func (param f32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$idii (func (param f64 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$fff (func (param f32 f32) (result f32)))
|
||||
(type $FUNCSIG$if (func (param f32) (result i32)))
|
||||
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
|
||||
(type $FUNCSIG$id (func (param f64) (result i32)))
|
||||
(type $FUNCSIG$vii (func (param i32 i32)))
|
||||
(type $FUNCSIG$vjii (func (param i64 i32 i32)))
|
||||
(type $FUNCSIG$vfii (func (param f32 i32 i32)))
|
||||
@ -484,7 +486,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 191
|
||||
i32.const 192
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -499,7 +501,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 192
|
||||
i32.const 193
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -563,7 +565,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 226
|
||||
i32.const 227
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -12258,7 +12260,12 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 301 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $~lib/builtins/isNaN<f32> (; 301 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.ne
|
||||
)
|
||||
(func $~lib/math/NativeMathf.mod (; 302 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -12311,13 +12318,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f32.ne
|
||||
call $~lib/builtins/isNaN<f32>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -12514,14 +12516,14 @@
|
||||
local.get $2
|
||||
f32.reinterpret_i32
|
||||
)
|
||||
(func $std/typedarray/testArrayEvery<Float32Array,f32>~anonymous|0 (; 302 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $std/typedarray/testArrayEvery<Float32Array,f32>~anonymous|0 (; 303 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
f32.const 2
|
||||
call $~lib/math/NativeMathf.mod
|
||||
f32.const 0
|
||||
f32.eq
|
||||
)
|
||||
(func $~lib/typedarray/Float32Array#every (; 303 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/typedarray/Float32Array#every (; 304 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -12588,12 +12590,12 @@
|
||||
i32.const 1
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayEvery<Float32Array,f32>~anonymous|1 (; 304 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $std/typedarray/testArrayEvery<Float32Array,f32>~anonymous|1 (; 305 ;) (type $FUNCSIG$ifii) (param $0 f32) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
f32.const 2
|
||||
f32.eq
|
||||
)
|
||||
(func $std/typedarray/testArrayEvery<Float32Array,f32> (; 305 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayEvery<Float32Array,f32> (; 306 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -12647,7 +12649,12 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/math/NativeMath.mod (; 306 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/builtins/isNaN<f64> (; 307 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/math/NativeMath.mod (; 308 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
@ -12700,13 +12707,8 @@
|
||||
local.get $8
|
||||
else
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $9
|
||||
local.get $9
|
||||
f64.ne
|
||||
call $~lib/builtins/isNaN<f64>
|
||||
end
|
||||
i32.const 0
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -12905,14 +12907,14 @@
|
||||
local.get $2
|
||||
f64.reinterpret_i64
|
||||
)
|
||||
(func $std/typedarray/testArrayEvery<Float64Array,f64>~anonymous|0 (; 307 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $std/typedarray/testArrayEvery<Float64Array,f64>~anonymous|0 (; 309 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
f64.const 2
|
||||
call $~lib/math/NativeMath.mod
|
||||
f64.const 0
|
||||
f64.eq
|
||||
)
|
||||
(func $~lib/typedarray/Float64Array#every (; 308 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/typedarray/Float64Array#every (; 310 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -12979,12 +12981,12 @@
|
||||
i32.const 1
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayEvery<Float64Array,f64>~anonymous|1 (; 309 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $std/typedarray/testArrayEvery<Float64Array,f64>~anonymous|1 (; 311 ;) (type $FUNCSIG$idii) (param $0 f64) (param $1 i32) (param $2 i32) (result i32)
|
||||
local.get $0
|
||||
f64.const 2
|
||||
f64.eq
|
||||
)
|
||||
(func $std/typedarray/testArrayEvery<Float64Array,f64> (; 310 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayEvery<Float64Array,f64> (; 312 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -13038,7 +13040,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int8Array,i8>~anonymous|0 (; 311 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Int8Array,i8>~anonymous|0 (; 313 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -13093,7 +13095,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Int8Array#forEach (; 312 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Int8Array#forEach (; 314 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13138,7 +13140,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int8Array,i8> (; 313 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Int8Array,i8> (; 315 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -13194,7 +13196,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint8Array,u8>~anonymous|0 (; 314 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Uint8Array,u8>~anonymous|0 (; 316 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -13245,7 +13247,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Uint8Array#forEach (; 315 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Uint8Array#forEach (; 317 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13290,7 +13292,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint8Array,u8> (; 316 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Uint8Array,u8> (; 318 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -13340,7 +13342,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint8ClampedArray,u8>~anonymous|0 (; 317 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Uint8ClampedArray,u8>~anonymous|0 (; 319 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -13391,7 +13393,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Uint8ClampedArray#forEach (; 318 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Uint8ClampedArray#forEach (; 320 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13436,7 +13438,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint8ClampedArray,u8> (; 319 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Uint8ClampedArray,u8> (; 321 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -13486,7 +13488,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int16Array,i16>~anonymous|0 (; 320 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Int16Array,i16>~anonymous|0 (; 322 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -13541,7 +13543,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Int16Array#forEach (; 321 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Int16Array#forEach (; 323 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13586,7 +13588,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int16Array,i16> (; 322 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Int16Array,i16> (; 324 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -13642,7 +13644,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint16Array,u16>~anonymous|0 (; 323 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Uint16Array,u16>~anonymous|0 (; 325 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -13693,7 +13695,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Uint16Array#forEach (; 324 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Uint16Array#forEach (; 326 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13738,7 +13740,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint16Array,u16> (; 325 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Uint16Array,u16> (; 327 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -13788,7 +13790,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int32Array,i32>~anonymous|0 (; 326 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Int32Array,i32>~anonymous|0 (; 328 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -13835,7 +13837,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Int32Array#forEach (; 327 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Int32Array#forEach (; 329 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -13880,7 +13882,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int32Array,i32> (; 328 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Int32Array,i32> (; 330 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -13924,7 +13926,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint32Array,u32>~anonymous|0 (; 329 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Uint32Array,u32>~anonymous|0 (; 331 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -13971,7 +13973,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Uint32Array#forEach (; 330 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Uint32Array#forEach (; 332 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -14016,7 +14018,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint32Array,u32> (; 331 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Uint32Array,u32> (; 333 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -14060,7 +14062,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int64Array,i64>~anonymous|0 (; 332 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Int64Array,i64>~anonymous|0 (; 334 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -14108,7 +14110,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Int64Array#forEach (; 333 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Int64Array#forEach (; 335 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -14153,7 +14155,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Int64Array,i64> (; 334 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Int64Array,i64> (; 336 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -14200,7 +14202,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint64Array,u64>~anonymous|0 (; 335 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Uint64Array,u64>~anonymous|0 (; 337 ;) (type $FUNCSIG$vjii) (param $0 i64) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -14248,7 +14250,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Uint64Array#forEach (; 336 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Uint64Array#forEach (; 338 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -14293,7 +14295,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Uint64Array,u64> (; 337 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Uint64Array,u64> (; 339 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -14340,7 +14342,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Float32Array,f32>~anonymous|0 (; 338 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Float32Array,f32>~anonymous|0 (; 340 ;) (type $FUNCSIG$vfii) (param $0 f32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -14388,7 +14390,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Float32Array#forEach (; 339 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Float32Array#forEach (; 341 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -14433,7 +14435,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Float32Array,f32> (; 340 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Float32Array,f32> (; 342 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -14480,7 +14482,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Float64Array,f64>~anonymous|0 (; 341 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32)
|
||||
(func $std/typedarray/testArrayForEach<Float64Array,f64>~anonymous|0 (; 343 ;) (type $FUNCSIG$vdii) (param $0 f64) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
global.get $std/typedarray/forEachValues
|
||||
local.get $1
|
||||
@ -14528,7 +14530,7 @@
|
||||
i32.add
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
)
|
||||
(func $~lib/typedarray/Float64Array#forEach (; 342 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/typedarray/Float64Array#forEach (; 344 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@ -14573,7 +14575,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $std/typedarray/testArrayForEach<Float64Array,f64> (; 343 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayForEach<Float64Array,f64> (; 345 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 0
|
||||
global.set $std/typedarray/forEachCallCount
|
||||
@ -14620,7 +14622,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Int8Array#reverse (; 344 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Int8Array#reverse (; 346 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -14690,7 +14692,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Int8Array,i8> (; 345 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Int8Array,i8> (; 347 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -14854,7 +14856,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Uint8Array#reverse (; 346 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint8Array#reverse (; 348 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -14924,7 +14926,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Uint8Array#subarray (; 347 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint8Array#subarray (; 349 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -15038,7 +15040,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Uint8Array,u8> (; 348 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Uint8Array,u8> (; 350 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -15196,7 +15198,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Uint8ClampedArray#reverse (; 349 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint8ClampedArray#reverse (; 351 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -15266,7 +15268,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Uint8ClampedArray#subarray (; 350 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint8ClampedArray#subarray (; 352 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -15380,7 +15382,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Uint8ClampedArray,u8> (; 351 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Uint8ClampedArray,u8> (; 353 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -15538,7 +15540,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Int16Array#reverse (; 352 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Int16Array#reverse (; 354 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -15608,7 +15610,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Int16Array#subarray (; 353 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Int16Array#subarray (; 355 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -15722,7 +15724,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Int16Array,i16> (; 354 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Int16Array,i16> (; 356 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -15886,7 +15888,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Uint16Array#reverse (; 355 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint16Array#reverse (; 357 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -15956,7 +15958,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Uint16Array#subarray (; 356 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint16Array#subarray (; 358 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -16070,7 +16072,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Uint16Array,u16> (; 357 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Uint16Array,u16> (; 359 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -16228,7 +16230,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Int32Array#reverse (; 358 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Int32Array#reverse (; 360 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -16298,7 +16300,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Int32Array,i32> (; 359 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Int32Array,i32> (; 361 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -16450,7 +16452,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Uint32Array#reverse (; 360 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint32Array#reverse (; 362 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -16520,7 +16522,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Uint32Array#subarray (; 361 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint32Array#subarray (; 363 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -16634,7 +16636,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Uint32Array,u32> (; 362 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Uint32Array,u32> (; 364 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -16786,7 +16788,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Int64Array#reverse (; 363 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Int64Array#reverse (; 365 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -16856,7 +16858,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Int64Array#subarray (; 364 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Int64Array#subarray (; 366 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -16970,7 +16972,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Int64Array,i64> (; 365 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Int64Array,i64> (; 367 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -17125,7 +17127,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Uint64Array#reverse (; 366 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint64Array#reverse (; 368 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -17195,7 +17197,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Uint64Array#subarray (; 367 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Uint64Array#subarray (; 369 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -17309,7 +17311,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Uint64Array,u64> (; 368 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Uint64Array,u64> (; 370 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -17464,7 +17466,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Float32Array#reverse (; 369 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Float32Array#reverse (; 371 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -17534,7 +17536,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Float32Array#subarray (; 370 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/typedarray/Float32Array#subarray (; 372 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
@ -17648,7 +17650,7 @@
|
||||
i32.store offset=8
|
||||
local.get $7
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Float32Array,f32> (; 371 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Float32Array,f32> (; 373 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -17803,7 +17805,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/typedarray/Float64Array#reverse (; 372 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/typedarray/Float64Array#reverse (; 374 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@ -17873,7 +17875,7 @@
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $std/typedarray/testArrayReverse<Float64Array,f64> (; 373 ;) (type $FUNCSIG$v)
|
||||
(func $std/typedarray/testArrayReverse<Float64Array,f64> (; 375 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@ -18028,7 +18030,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start:std/typedarray (; 374 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/typedarray (; 376 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT
|
||||
i32.const 1
|
||||
@ -19304,9 +19306,9 @@
|
||||
call $std/typedarray/testArrayReverse<Float32Array,f32>
|
||||
call $std/typedarray/testArrayReverse<Float64Array,f64>
|
||||
)
|
||||
(func $start (; 375 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 377 ;) (type $FUNCSIG$v)
|
||||
call $start:std/typedarray
|
||||
)
|
||||
(func $null (; 376 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 378 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
Reference in New Issue
Block a user