mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-07-20 00:32:16 +00:00
tackle unreachables
suspend compilation on break, optimize stack ir, detect fallthrough instead of terminate
This commit is contained in:
src
tests
binaryen
compiler
abi.untouched.watassert-nonnull.optimized.watassert-nonnull.untouched.watbinary.untouched.watcall-optional.untouched.watcall-super.optimized.watcall-super.untouched.watcomma.untouched.watconstructor.optimized.watconstructor.untouched.watdo.untouched.watempty.jsonexports.untouched.watfor.optimized.watfor.untouched.watfunction-expression.untouched.watfunction-types.untouched.watgetter-call.untouched.watgetter-setter.untouched.watif.untouched.watinfer-type.untouched.watinlining-blocklocals.untouched.watinlining-recursive.untouched.watinlining.untouched.watinstanceof.untouched.watlogical.untouched.watloop-flow.optimized.watloop-flow.tsloop-flow.untouched.watmandelbrot.optimized.watmandelbrot.untouched.watmemcpy.untouched.watmemmove.untouched.watmemset.optimized.watmemset.untouched.watnumber.optimized.watnumber.untouched.watoverflow.untouched.watpossibly-null.untouched.wat
rc
global-init.untouched.watlocal-init.untouched.watlogical-and-mismatch.untouched.watlogical-or-mismatch.untouched.watrereturn.untouched.watternary-mismatch.untouched.wat
retain-i32.untouched.watretain-release-sanity.optimized.watretain-release-sanity.untouched.watretain-release.optimized.watretain-release.untouched.watrt
runtime-full.untouched.watscoped.untouched.watstd
array-access.untouched.watarray-literal.untouched.watarray.optimized.watarray.untouched.watarraybuffer.optimized.watarraybuffer.untouched.watdataview.untouched.watdate.untouched.wathash.optimized.wathash.untouched.watlibm.optimized.watlibm.untouched.watmap.optimized.watmap.untouched.watmath.optimized.watmath.untouched.watmod.untouched.watnew.untouched.watobject-literal.untouched.watoperator-overloading.untouched.watpointer.untouched.watset.optimized.watset.untouched.watstatic-array.optimized.watstatic-array.untouched.watstring-utf8.untouched.watstring.optimized.watstring.untouched.watsymbol.optimized.watsymbol.untouched.wattypedarray.optimized.wattypedarray.untouched.wat
switch.untouched.watunary.untouched.watwasi.untouched.watwhile.untouched.wat@@ -38,11 +38,11 @@ import {
|
||||
getBlockChildCount,
|
||||
getBlockChild,
|
||||
getBlockName,
|
||||
needsExplicitUnreachable,
|
||||
getLocalGetIndex,
|
||||
FeatureFlags,
|
||||
isLocalTee,
|
||||
getLocalSetIndex
|
||||
getLocalSetIndex,
|
||||
FeatureFlags,
|
||||
needsExplicitUnreachable
|
||||
} from "./module";
|
||||
|
||||
import {
|
||||
@@ -1780,6 +1780,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
stmts = new Array<ExpressionRef>(numStatements);
|
||||
stmts.length = 0;
|
||||
}
|
||||
var module = this.module;
|
||||
var flow = this.currentFlow;
|
||||
for (let i = 0; i < numStatements; ++i) {
|
||||
let stmt = this.compileStatement(statements[i],
|
||||
@@ -1798,8 +1799,8 @@ export class Compiler extends DiagnosticEmitter {
|
||||
default: stmts.push(stmt);
|
||||
case ExpressionId.Nop:
|
||||
}
|
||||
if (flow.is(FlowFlags.TERMINATES)) {
|
||||
if (needsExplicitUnreachable(stmt)) stmts.push(this.module.unreachable());
|
||||
if (flow.isAny(FlowFlags.TERMINATES | FlowFlags.BREAKS)) {
|
||||
if (needsExplicitUnreachable(stmt)) stmts.push(module.unreachable());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1816,7 +1817,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
this.currentFlow = innerFlow;
|
||||
|
||||
var stmts = this.compileStatements(statements);
|
||||
if (!innerFlow.is(FlowFlags.TERMINATES)) this.performAutoreleases(innerFlow, stmts);
|
||||
if (!innerFlow.isAny(FlowFlags.TERMINATES | FlowFlags.BREAKS)) this.performAutoreleases(innerFlow, stmts);
|
||||
innerFlow.freeScopedLocals();
|
||||
outerFlow.inherit(innerFlow); // TODO: only if not terminated?
|
||||
this.currentFlow = outerFlow;
|
||||
@@ -1846,10 +1847,10 @@ export class Compiler extends DiagnosticEmitter {
|
||||
}
|
||||
var stmts = new Array<ExpressionRef>();
|
||||
this.performAutoreleases(flow, stmts);
|
||||
var current: Flow | null = flow.parent;
|
||||
while (current && current.breakLabel === breakLabel) {
|
||||
this.performAutoreleases(current, stmts, /* clearFlags */ false);
|
||||
current = current.parent;
|
||||
var parent = flow.parent;
|
||||
while (parent !== null && parent.breakLabel == breakLabel) {
|
||||
this.performAutoreleases(parent, stmts, /* clearFlags */ false);
|
||||
parent = parent.parent;
|
||||
}
|
||||
flow.freeScopedLocals();
|
||||
stmts.push(module.br(breakLabel));
|
||||
@@ -1934,18 +1935,19 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// (block $break ;; (1) skip if no breaks
|
||||
// (loop $continue ;; (2) skip if skipping (4) + no continues
|
||||
// (...) ;; (3)
|
||||
// (br_if cond $continue) ;; (4) skip if (3) terminates or always false
|
||||
// (br_if cond $continue) ;; (4) skip if (3) does not fall through or always false
|
||||
// )
|
||||
// )
|
||||
var fallsThrough = !terminates && !innerFlow.is(FlowFlags.BREAKS);
|
||||
|
||||
if (!terminates && !alwaysFalse) {
|
||||
if (fallsThrough && !alwaysFalse) { // (4)
|
||||
stmts.push(module.br(continueLabel, condExpr));
|
||||
}
|
||||
var expr = flatten(module, stmts, NativeType.None);
|
||||
if (!terminates && !alwaysFalse || continues) {
|
||||
if (fallsThrough && !alwaysFalse || continues) { // (2)
|
||||
expr = module.loop(continueLabel, expr);
|
||||
}
|
||||
if (breaks) {
|
||||
if (breaks) { // (1)
|
||||
expr = module.block(breakLabel, [ expr ]);
|
||||
}
|
||||
|
||||
@@ -2060,6 +2062,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// (br $loop) ;; (8) skip if skipping (3)
|
||||
// )
|
||||
// )
|
||||
var fallsThrough = !terminates && !innerFlow.is(FlowFlags.BREAKS);
|
||||
var needsLabel = !alwaysTrue || breaks;
|
||||
|
||||
var loop = new Array<ExpressionRef>();
|
||||
@@ -2067,14 +2070,14 @@ export class Compiler extends DiagnosticEmitter {
|
||||
loop.push(module.br(breakLabel, module.unary(UnaryOp.EqzI32, condExpr)));
|
||||
}
|
||||
if (continues) { // (5)
|
||||
if (stmts.length > 1) { // otherwise lonely continue
|
||||
if (stmts.length > 1 || getExpressionId(stmts[0]) != ExpressionId.Break) { // otherwise lonely continue
|
||||
loop.push(module.block(continueLabel, stmts));
|
||||
}
|
||||
} else {
|
||||
for (let i = 0, k = stmts.length; i < k; ++i) loop.push(stmts[i]);
|
||||
}
|
||||
var expr: ExpressionRef;
|
||||
if (!terminates || continues) { // (3)
|
||||
if (fallsThrough || continues) { // (3)
|
||||
if (incrExpr) loop.push(incrExpr); // (7)
|
||||
this.performAutoreleases(innerFlow, loop);
|
||||
loop.push(module.br(loopLabel)); // (8)
|
||||
@@ -2148,7 +2151,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
} else {
|
||||
ifTrueStmts.push(this.compileStatement(ifTrue));
|
||||
}
|
||||
if (!ifTrueFlow.is(FlowFlags.TERMINATES)) this.performAutoreleases(ifTrueFlow, ifTrueStmts);
|
||||
if (!ifTrueFlow.isAny(FlowFlags.TERMINATES | FlowFlags.BREAKS)) this.performAutoreleases(ifTrueFlow, ifTrueStmts);
|
||||
ifTrueFlow.freeScopedLocals();
|
||||
this.currentFlow = outerFlow;
|
||||
|
||||
@@ -2162,7 +2165,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
} else {
|
||||
ifFalseStmts.push(this.compileStatement(ifFalse));
|
||||
}
|
||||
if (!ifFalseFlow.is(FlowFlags.TERMINATES)) this.performAutoreleases(ifFalseFlow, ifFalseStmts);
|
||||
if (!ifFalseFlow.isAny(FlowFlags.TERMINATES | FlowFlags.BREAKS)) this.performAutoreleases(ifFalseFlow, ifFalseStmts);
|
||||
ifFalseFlow.freeScopedLocals();
|
||||
this.currentFlow = outerFlow;
|
||||
outerFlow.inheritMutual(ifTrueFlow, ifFalseFlow);
|
||||
@@ -2354,10 +2357,10 @@ export class Compiler extends DiagnosticEmitter {
|
||||
let stmt = this.compileStatement(statements[j]);
|
||||
if (getExpressionId(stmt) != ExpressionId.Nop) {
|
||||
stmts[count++] = stmt;
|
||||
if (innerFlow.is(FlowFlags.TERMINATES)) {
|
||||
terminates = true;
|
||||
break;
|
||||
}
|
||||
if (innerFlow.isAny(FlowFlags.TERMINATES | FlowFlags.BREAKS)) {
|
||||
if (innerFlow.is(FlowFlags.TERMINATES)) terminates = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
stmts.length = count;
|
||||
@@ -2655,6 +2658,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
} else {
|
||||
stmts.push(this.compileStatement(statement.statement));
|
||||
}
|
||||
var terminates = innerFlow.is(FlowFlags.TERMINATES);
|
||||
|
||||
// (block $break ;; (1) skip if skipping (3) + no breaks
|
||||
// (loop $continue ;; (2) skip if skipping (5) + no continues
|
||||
@@ -2663,9 +2667,9 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// (br $continue) ;; (5) skip if (4) does not fall through
|
||||
// )
|
||||
// )
|
||||
var fallsThrough = !terminates && !innerFlow.is(FlowFlags.BREAKS);
|
||||
|
||||
var terminates = innerFlow.is(FlowFlags.TERMINATES);
|
||||
if (!terminates) { // (5)
|
||||
if (fallsThrough) { // (5)
|
||||
this.performAutoreleases(innerFlow, stmts);
|
||||
stmts.push(module.br(continueLabel));
|
||||
}
|
||||
@@ -2673,7 +2677,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
stmts.unshift(module.br(breakLabel, module.unary(UnaryOp.EqzI32, condExpr)));
|
||||
}
|
||||
var expr = flatten(module, stmts, NativeType.None);
|
||||
if (!terminates || innerFlow.isAny(FlowFlags.CONTINUES | FlowFlags.CONDITIONALLY_CONTINUES)) { // (2)
|
||||
if (fallsThrough || innerFlow.isAny(FlowFlags.CONTINUES | FlowFlags.CONDITIONALLY_CONTINUES)) { // (2)
|
||||
expr = module.loop(continueLabel, expr);
|
||||
}
|
||||
if (!alwaysTrue || innerFlow.isAny(FlowFlags.BREAKS | FlowFlags.CONDITIONALLY_BREAKS)) { // (1)
|
||||
@@ -9065,7 +9069,16 @@ var mangleImportName_elementName: string;
|
||||
export function flatten(module: Module, stmts: ExpressionRef[], type: NativeType): ExpressionRef {
|
||||
var length = stmts.length;
|
||||
if (length == 0) return module.nop(); // usually filtered out again
|
||||
if (length == 1 && getExpressionType(stmts[0]) == type) return stmts[0];
|
||||
if (length == 1) {
|
||||
let single = stmts[0];
|
||||
if (getExpressionType(single) == type) return single;
|
||||
if (getExpressionId(single) == ExpressionId.Block) {
|
||||
let count = getBlockChildCount(single);
|
||||
let children = new Array<ExpressionRef>(count);
|
||||
for (let i = 0; i < count; ++i) children[i] = getBlockChild(single, i);
|
||||
return module.block(getBlockName(single), children, type);
|
||||
}
|
||||
}
|
||||
return module.block(null, stmts,
|
||||
type == NativeType.Auto
|
||||
? getExpressionType(stmts[length - 1])
|
||||
|
@@ -14,7 +14,11 @@ import "./i64";
|
||||
import { Module } from "../../module";
|
||||
|
||||
Module.prototype.toText = function(this: Module) {
|
||||
return binaryen.wrapModule(this.ref).emitStackIR();
|
||||
// NOTE: Conversion to StackIR can yield conversion artifacts like sequences
|
||||
// of unreachable statements not actually emitted by the compiler. Optimizing
|
||||
// StackIR removes these again, but may also suppress useless code emitted by
|
||||
// the compiler that's then no longer visible in tests. Both not ideal.
|
||||
return binaryen.wrapModule(this.ref).emitStackIR(/* optimize-stack-ir */ true);
|
||||
};
|
||||
|
||||
Module.prototype.toAsmjs = function(this: Module) {
|
||||
|
25
tests/binaryen/unreachable-spam.js
Normal file
25
tests/binaryen/unreachable-spam.js
Normal file
@@ -0,0 +1,25 @@
|
||||
var binaryen = require("binaryen");
|
||||
|
||||
var mod = new binaryen.Module();
|
||||
var funcType = mod.addFunctionType("ii", binaryen.i32, [ binaryen.i32 ]);
|
||||
mod.addFunction("0", funcType, [],
|
||||
mod.block(null, [
|
||||
mod.loop("continue",
|
||||
mod.block(null, [
|
||||
mod.if(
|
||||
mod.local.get(0, binaryen.i32),
|
||||
mod.return(mod.i32.const(1)),
|
||||
mod.return(mod.i32.const(2))
|
||||
),
|
||||
mod.unreachable()
|
||||
])
|
||||
),
|
||||
mod.unreachable()
|
||||
], binaryen.i32)
|
||||
);
|
||||
mod.addExport("0", "0");
|
||||
|
||||
if (!mod.validate())
|
||||
console.log("-> does not validate");
|
||||
console.log(mod.emitText());
|
||||
console.log(mod.emitStackIR(/*true*/)); // optimize-stack-ir fixes this
|
@@ -25,7 +25,6 @@
|
||||
i32.const 0
|
||||
i32.eqz
|
||||
global.set $abi/condition
|
||||
block
|
||||
i32.const 256
|
||||
local.set $0
|
||||
local.get $0
|
||||
@@ -43,8 +42,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
block
|
||||
i32.const 256
|
||||
local.set $0
|
||||
global.get $abi/condition
|
||||
@@ -82,8 +79,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
block
|
||||
i32.const 256
|
||||
local.set $0
|
||||
global.get $abi/condition
|
||||
@@ -113,8 +108,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
block
|
||||
i32.const 256
|
||||
i32.const 24
|
||||
i32.shl
|
||||
@@ -132,8 +125,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
block
|
||||
i32.const 2
|
||||
i32.ctz
|
||||
local.set $0
|
||||
@@ -190,7 +181,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $abi/exported (; 3 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 128
|
||||
|
@@ -157,13 +157,11 @@
|
||||
local.get $0
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $0
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $assert-nonnull/testObjFn (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 0
|
||||
@@ -180,13 +178,11 @@
|
||||
i32.load offset=4
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $0
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
)
|
||||
(func $null (; 15 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
|
@@ -104,20 +104,12 @@
|
||||
i32.load offset=12
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 136
|
||||
i32.const 106
|
||||
i32.const 45
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
local.get $0
|
||||
@@ -126,20 +118,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 184
|
||||
i32.const 136
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -182,20 +166,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 184
|
||||
i32.const 136
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -284,13 +260,11 @@
|
||||
(func $assert-nonnull/testFn (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $1
|
||||
end
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $2
|
||||
local.get $1
|
||||
@@ -309,13 +283,11 @@
|
||||
unreachable
|
||||
end
|
||||
local.set $2
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
local.get $2
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $1
|
||||
end
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $3
|
||||
local.get $1
|
||||
@@ -325,13 +297,11 @@
|
||||
(func $assert-nonnull/testRet (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $1
|
||||
end
|
||||
local.tee $2
|
||||
if (result i32)
|
||||
local.get $2
|
||||
@@ -350,14 +320,12 @@
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__retain
|
||||
drop
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $1
|
||||
end
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $2
|
||||
local.get $1
|
||||
@@ -372,14 +340,12 @@
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__retain
|
||||
drop
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $1
|
||||
end
|
||||
local.tee $2
|
||||
if (result i32)
|
||||
local.get $2
|
||||
|
@@ -337,7 +337,6 @@
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
local.get $8
|
||||
i32.const 1072693248
|
||||
@@ -1373,7 +1372,6 @@
|
||||
i32.sub
|
||||
local.set $4
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1690,7 +1688,6 @@
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
i32.const 1065353216
|
||||
@@ -2651,7 +2648,6 @@
|
||||
i64.sub
|
||||
local.set $4
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -42,14 +42,12 @@
|
||||
call $call-optional/opt
|
||||
)
|
||||
(func $start:call-optional (; 3 ;) (type $FUNCSIG$v)
|
||||
block (result i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
i32.const 3
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
call $call-optional/opt|trampoline
|
||||
end
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -61,14 +59,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i32.const 3
|
||||
i32.const 4
|
||||
i32.const 0
|
||||
call $call-optional/opt|trampoline
|
||||
end
|
||||
i32.const 5
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -95,7 +91,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
i32.const 3
|
||||
@@ -103,7 +98,6 @@
|
||||
i32.const 0
|
||||
global.get $call-optional/optIndirect
|
||||
call_indirect (type $FUNCSIG$iiii)
|
||||
end
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -115,7 +109,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i32.const 3
|
||||
@@ -123,7 +116,6 @@
|
||||
i32.const 0
|
||||
global.get $call-optional/optIndirect
|
||||
call_indirect (type $FUNCSIG$iiii)
|
||||
end
|
||||
i32.const 5
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -135,7 +127,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 3
|
||||
global.set $~lib/argc
|
||||
i32.const 3
|
||||
@@ -143,7 +134,6 @@
|
||||
i32.const 5
|
||||
global.get $call-optional/optIndirect
|
||||
call_indirect (type $FUNCSIG$iiii)
|
||||
end
|
||||
i32.const 12
|
||||
i32.eq
|
||||
i32.eqz
|
||||
|
@@ -330,9 +330,7 @@
|
||||
)
|
||||
(func $call-super/test4 (; 10 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
block (result i32)
|
||||
call $call-super/H#constructor
|
||||
end
|
||||
local.tee $0
|
||||
i32.load
|
||||
i32.const 1
|
||||
@@ -381,9 +379,7 @@
|
||||
)
|
||||
(func $call-super/test5 (; 12 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
block (result i32)
|
||||
call $call-super/J#constructor
|
||||
end
|
||||
local.tee $0
|
||||
i32.load
|
||||
i32.const 1
|
||||
|
@@ -110,7 +110,6 @@
|
||||
local.get $0
|
||||
)
|
||||
(func $call-super/A#constructor (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -124,7 +123,6 @@
|
||||
i32.const 1
|
||||
i32.store
|
||||
local.get $0
|
||||
end
|
||||
i32.load
|
||||
i32.const 1
|
||||
i32.eq
|
||||
@@ -312,7 +310,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
)
|
||||
(func $call-super/E#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -326,7 +323,6 @@
|
||||
i32.const 1
|
||||
i32.store
|
||||
local.get $0
|
||||
end
|
||||
i32.load
|
||||
i32.const 1
|
||||
i32.eq
|
||||
|
@@ -13,19 +13,15 @@
|
||||
(func $start:comma (; 1 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
block
|
||||
block (result i32)
|
||||
global.get $comma/a
|
||||
local.tee $0
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $comma/a
|
||||
local.get $0
|
||||
end
|
||||
global.set $comma/b
|
||||
global.get $comma/a
|
||||
drop
|
||||
end
|
||||
global.get $comma/a
|
||||
i32.const 1
|
||||
i32.eq
|
||||
@@ -50,14 +46,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
global.get $comma/a
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $comma/a
|
||||
global.get $comma/a
|
||||
global.set $comma/b
|
||||
end
|
||||
global.get $comma/a
|
||||
i32.const 2
|
||||
i32.eq
|
||||
@@ -82,19 +76,15 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $comma/b
|
||||
global.get $comma/b
|
||||
end
|
||||
global.set $comma/a
|
||||
block (result i32)
|
||||
global.get $comma/a
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $comma/a
|
||||
global.get $comma/a
|
||||
end
|
||||
global.set $comma/b
|
||||
global.get $comma/a
|
||||
i32.const 1
|
||||
@@ -120,17 +110,13 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $comma/a
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $comma/a
|
||||
block (result i32)
|
||||
global.get $comma/a
|
||||
global.set $comma/b
|
||||
global.get $comma/b
|
||||
end
|
||||
end
|
||||
global.set $comma/a
|
||||
global.get $comma/a
|
||||
i32.const 2
|
||||
@@ -166,7 +152,6 @@
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
nop
|
||||
block
|
||||
global.get $comma/a
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@@ -175,9 +160,7 @@
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
end
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -193,14 +176,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
i32.const 1
|
||||
drop
|
||||
i32.const 2
|
||||
drop
|
||||
i32.const 3
|
||||
drop
|
||||
end
|
||||
)
|
||||
(func $start (; 2 ;) (type $FUNCSIG$v)
|
||||
call $start:comma
|
||||
|
@@ -154,7 +154,6 @@
|
||||
global.set $constructor/ctorAllocates
|
||||
i32.const 0
|
||||
local.set $0
|
||||
block (result i32)
|
||||
global.get $constructor/b
|
||||
if
|
||||
i32.const 0
|
||||
@@ -164,7 +163,6 @@
|
||||
end
|
||||
local.get $0
|
||||
i32.eqz
|
||||
end
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 12
|
||||
|
@@ -223,7 +223,6 @@
|
||||
local.get $0
|
||||
)
|
||||
(func $constructor/CtorAllocates#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -234,14 +233,12 @@
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
end
|
||||
drop
|
||||
local.get $0
|
||||
)
|
||||
(func $constructor/CtorConditionallyAllocates#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
global.get $constructor/b
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -252,7 +249,6 @@
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
end
|
||||
drop
|
||||
end
|
||||
local.get $0
|
||||
|
@@ -53,14 +53,12 @@
|
||||
global.set $do/n
|
||||
loop $continue|1
|
||||
nop
|
||||
block (result i32)
|
||||
global.get $do/n
|
||||
local.tee $0
|
||||
i32.const 1
|
||||
i32.sub
|
||||
global.set $do/n
|
||||
local.get $0
|
||||
end
|
||||
br_if $continue|1
|
||||
end
|
||||
global.get $do/n
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"asc_flags": [
|
||||
"--runtime half",
|
||||
"--runtime none",
|
||||
"--use ASC_RTRACE=1"
|
||||
]
|
||||
}
|
||||
|
@@ -164,7 +164,6 @@
|
||||
local.get $0
|
||||
)
|
||||
(func $exports/Car#constructor (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -178,7 +177,6 @@
|
||||
local.get $1
|
||||
i32.store
|
||||
local.get $0
|
||||
end
|
||||
local.get $1
|
||||
i32.store
|
||||
local.get $0
|
||||
@@ -199,7 +197,6 @@
|
||||
global.get $exports/vehicles.Car.TIRES
|
||||
)
|
||||
(func $exports/vehicles.Car#constructor (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -213,7 +210,6 @@
|
||||
local.get $1
|
||||
i32.store
|
||||
local.get $0
|
||||
end
|
||||
local.get $1
|
||||
i32.store
|
||||
local.get $0
|
||||
|
@@ -134,6 +134,12 @@
|
||||
i32.const 10
|
||||
i32.ge_s
|
||||
br_if $break|7
|
||||
block $continue|7
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.eq
|
||||
br_if $continue|7
|
||||
end
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
|
@@ -28,7 +28,6 @@
|
||||
i32.add
|
||||
global.set $for/i
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -58,7 +57,6 @@
|
||||
i32.add
|
||||
local.set $0
|
||||
br $loop|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -75,7 +73,6 @@
|
||||
i32.sub
|
||||
global.set $for/i
|
||||
br $loop|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -97,41 +94,29 @@
|
||||
i32.const 10
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
br $break|3
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
global.get $for/i
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $for/i
|
||||
br $loop|3
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
block $break|4
|
||||
loop $loop|4
|
||||
block (result i32)
|
||||
global.get $for/i
|
||||
i32.const 1
|
||||
i32.sub
|
||||
global.set $for/i
|
||||
global.get $for/i
|
||||
end
|
||||
i32.const 0
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
br $break|4
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
br $loop|4
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -144,12 +129,14 @@
|
||||
i32.lt_s
|
||||
i32.eqz
|
||||
br_if $break|5
|
||||
block $continue|5
|
||||
br $continue|5
|
||||
end
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
br $loop|5
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -183,12 +170,19 @@
|
||||
i32.lt_s
|
||||
i32.eqz
|
||||
br_if $break|7
|
||||
block $continue|7
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.eq
|
||||
if
|
||||
br $continue|7
|
||||
end
|
||||
end
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $3
|
||||
br $loop|7
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -197,7 +191,6 @@
|
||||
i32.add
|
||||
local.set $2
|
||||
br $loop|6
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -68,13 +68,11 @@
|
||||
i32.const 10
|
||||
)
|
||||
(func $start:function-expression (; 15 ;) (type $FUNCSIG$v)
|
||||
block (result i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
i32.const 1
|
||||
global.get $function-expression/f1
|
||||
call_indirect (type $FUNCSIG$ii)
|
||||
end
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -86,13 +84,11 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
i32.const 2
|
||||
global.get $function-expression/f2
|
||||
call_indirect (type $FUNCSIG$ii)
|
||||
end
|
||||
i32.const 2
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -104,18 +100,14 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
global.get $function-expression/f3
|
||||
call_indirect (type $FUNCSIG$v)
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
global.get $function-expression/f4
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
end
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -166,14 +158,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
call $function-expression/testOmittedReturn1
|
||||
call_indirect (type $FUNCSIG$iii)
|
||||
end
|
||||
i32.const 3
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -185,14 +175,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
call $function-expression/testOmittedReturn2
|
||||
call_indirect (type $FUNCSIG$iii)
|
||||
end
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -204,14 +192,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
call $function-expression/testOmittedReturn3
|
||||
call_indirect (type $FUNCSIG$iii)
|
||||
end
|
||||
i32.const 42
|
||||
i32.eq
|
||||
i32.eqz
|
||||
|
@@ -91,14 +91,12 @@
|
||||
(func $start:function-types (; 12 ;) (type $FUNCSIG$v)
|
||||
call $function-types/makeAdder<i32>
|
||||
global.set $function-types/i32Adder
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
global.get $function-types/i32Adder
|
||||
call_indirect (type $FUNCSIG$iii)
|
||||
end
|
||||
i32.const 3
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -112,14 +110,12 @@
|
||||
end
|
||||
call $function-types/makeAdder<i64>
|
||||
global.set $function-types/i64Adder
|
||||
block (result i64)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i64.const 10
|
||||
i64.const 20
|
||||
global.get $function-types/i64Adder
|
||||
call_indirect (type $FUNCSIG$jjj)
|
||||
end
|
||||
i64.const 30
|
||||
i64.eq
|
||||
i32.eqz
|
||||
@@ -131,14 +127,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result f64)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
f64.const 1.5
|
||||
f64.const 2.5
|
||||
call $function-types/makeAdder<f64>
|
||||
call_indirect (type $FUNCSIG$ddd)
|
||||
end
|
||||
f64.const 4
|
||||
f64.eq
|
||||
i32.eqz
|
||||
@@ -194,14 +188,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
global.set $~lib/argc
|
||||
i32.const 1
|
||||
i32.const 2
|
||||
i32.const 0
|
||||
call $function-types/makeAndAdd<i32>|trampoline
|
||||
end
|
||||
i32.const 3
|
||||
i32.eq
|
||||
i32.eqz
|
||||
|
@@ -136,13 +136,11 @@
|
||||
i32.const 0
|
||||
call $getter-call/C#constructor
|
||||
local.set $0
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
call $getter-call/C#get:x
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
end
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
|
@@ -45,11 +45,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 2
|
||||
call $getter-setter/Foo.bar.set:bar
|
||||
call $getter-setter/Foo.bar.get:bar
|
||||
end
|
||||
i32.const 2
|
||||
i32.eq
|
||||
i32.eqz
|
||||
|
@@ -24,7 +24,6 @@
|
||||
return
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $if/ifThen (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
@@ -44,7 +43,6 @@
|
||||
return
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $start:if (; 4 ;) (type $FUNCSIG$v)
|
||||
i32.const 0
|
||||
@@ -132,23 +130,14 @@
|
||||
i32.const 1
|
||||
return
|
||||
else
|
||||
block
|
||||
block
|
||||
i32.const 56
|
||||
i32.const 24
|
||||
i32.const 37
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $start (; 6 ;) (type $FUNCSIG$v)
|
||||
call $start:if
|
||||
|
@@ -80,12 +80,10 @@
|
||||
global.get $infer-type/rF
|
||||
drop
|
||||
block $break|0
|
||||
block
|
||||
i32.const 0
|
||||
local.set $0
|
||||
i32.const 10
|
||||
local.set $1
|
||||
end
|
||||
loop $loop|0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -97,7 +95,6 @@
|
||||
i32.add
|
||||
local.set $0
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -19,24 +19,19 @@
|
||||
(local $3 i32)
|
||||
i32.const 1
|
||||
local.set $0
|
||||
block $inlining-blocklocals/theCall|inlined.0
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $1
|
||||
end
|
||||
local.set $3
|
||||
block (result i32)
|
||||
global.get $inlining-blocklocals/b
|
||||
local.tee $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $inlining-blocklocals/b
|
||||
local.get $1
|
||||
end
|
||||
local.set $2
|
||||
local.get $0
|
||||
i32.const 1
|
||||
@@ -49,7 +44,6 @@
|
||||
global.set $inlining-blocklocals/theCall_b
|
||||
local.get $1
|
||||
global.set $inlining-blocklocals/theCall_c
|
||||
end
|
||||
global.get $inlining-blocklocals/theCall_a
|
||||
i32.const 1
|
||||
i32.eq
|
||||
|
@@ -14,9 +14,7 @@
|
||||
call $inlining-recursive/bar
|
||||
)
|
||||
(func $inlining-recursive/bar (; 2 ;) (type $FUNCSIG$v)
|
||||
block $inlining-recursive/bar|inlined.0
|
||||
call $inlining-recursive/baz
|
||||
end
|
||||
)
|
||||
(func $null (; 3 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
|
@@ -135,11 +135,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $inlining/func_ii_opt|inlined.0 (result i32)
|
||||
i32.const 0
|
||||
local.set $2
|
||||
local.get $2
|
||||
end
|
||||
i32.const 0
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -151,11 +149,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $inlining/func_ii_opt|inlined.1 (result i32)
|
||||
i32.const 1
|
||||
local.set $2
|
||||
local.get $2
|
||||
end
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -167,7 +163,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $inlining/func_ii_loc|inlined.0 (result i32)
|
||||
i32.const 2
|
||||
local.set $2
|
||||
local.get $2
|
||||
@@ -181,7 +176,6 @@
|
||||
i32.add
|
||||
local.set $4
|
||||
local.get $4
|
||||
end
|
||||
i32.const 3
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -193,7 +187,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $inlining/func_ii_loc|inlined.1 (result i32)
|
||||
i32.const 3
|
||||
local.set $5
|
||||
local.get $5
|
||||
@@ -207,7 +200,6 @@
|
||||
i32.add
|
||||
local.set $3
|
||||
local.get $3
|
||||
end
|
||||
i32.const 4
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -219,19 +211,13 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $inlining/func_iv|inlined.0
|
||||
i32.const 0
|
||||
local.set $2
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 1
|
||||
global.set $~lib/argc
|
||||
i32.const 2
|
||||
block $inlining/func_fe|inlined.0 (result i32)
|
||||
i32.const 1
|
||||
end
|
||||
call_indirect (type $FUNCSIG$ii)
|
||||
end
|
||||
i32.const 2
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -243,7 +229,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $inlining/Foo.method_static|inlined.0 (result i32)
|
||||
i32.const 42
|
||||
local.set $6
|
||||
i32.const 2
|
||||
@@ -251,7 +236,6 @@
|
||||
local.get $6
|
||||
local.get $2
|
||||
i32.add
|
||||
end
|
||||
i32.const 44
|
||||
i32.eq
|
||||
i32.eqz
|
||||
@@ -266,7 +250,6 @@
|
||||
i32.const 123
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $7
|
||||
block $inlining/Foo#method_this|inlined.0 (result i32)
|
||||
local.get $7
|
||||
local.set $4
|
||||
i32.const 43
|
||||
@@ -275,7 +258,6 @@
|
||||
local.set $2
|
||||
local.get $4
|
||||
call $~lib/rt/stub/__retain
|
||||
end
|
||||
local.tee $2
|
||||
i32.const 123
|
||||
i32.eq
|
||||
@@ -391,12 +373,10 @@
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
block $inlining/Bar#constructor|inlined.0 (result i32)
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 4
|
||||
local.set $0
|
||||
block $inlining/Baz#constructor|inlined.0 (result i32)
|
||||
local.get $1
|
||||
if (result i32)
|
||||
local.get $1
|
||||
@@ -409,7 +389,6 @@
|
||||
local.set $3
|
||||
i32.const 2
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $3
|
||||
i32.eqz
|
||||
if
|
||||
@@ -426,11 +405,9 @@
|
||||
i32.const 0
|
||||
i32.store offset=4
|
||||
local.get $3
|
||||
end
|
||||
local.get $2
|
||||
i32.store offset=4
|
||||
local.get $3
|
||||
end
|
||||
local.set $1
|
||||
local.get $1
|
||||
i32.const 3
|
||||
@@ -442,7 +419,6 @@
|
||||
local.get $0
|
||||
i32.store offset=12
|
||||
local.get $1
|
||||
end
|
||||
local.set $4
|
||||
local.get $4
|
||||
i32.load
|
||||
|
@@ -19,11 +19,9 @@
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $instanceof/isI32<i32> (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
if
|
||||
i32.const 1
|
||||
return
|
||||
@@ -32,14 +30,11 @@
|
||||
return
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $instanceof/isI32<f64> (; 2 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
if
|
||||
i32.const 1
|
||||
return
|
||||
@@ -48,14 +43,11 @@
|
||||
return
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $instanceof/isI32<u32> (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
if
|
||||
i32.const 1
|
||||
return
|
||||
@@ -64,14 +56,11 @@
|
||||
return
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $instanceof/isI32<u16> (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
if
|
||||
i32.const 1
|
||||
return
|
||||
@@ -80,7 +69,6 @@
|
||||
return
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $~lib/rt/stub/__retain (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
@@ -91,11 +79,9 @@
|
||||
(func $start:instanceof (; 7 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
block (result i32)
|
||||
global.get $instanceof/a
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -105,11 +91,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/b
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -119,11 +103,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/i
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -134,11 +116,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/I
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -149,11 +129,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/f
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -164,11 +142,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/F
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -179,11 +155,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/b
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -193,11 +167,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/i
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -208,11 +180,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/I
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -223,11 +193,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/f
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -238,11 +206,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/F
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -253,11 +219,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/a
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -268,11 +232,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/b
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -283,11 +245,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/i
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -297,11 +257,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/I
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -312,11 +270,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/f
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -327,11 +283,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/F
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -342,11 +296,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/a
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -357,11 +309,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/b
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -372,11 +322,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/i
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -387,11 +335,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/I
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -401,11 +347,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/f
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -416,11 +360,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/F
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -431,11 +373,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/a
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -446,11 +386,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/b
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -461,11 +399,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/i
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -476,11 +412,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/I
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -491,11 +425,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/f
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -505,11 +437,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/F
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -520,11 +450,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/a
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -535,11 +463,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/b
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -550,11 +476,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/i
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -565,11 +489,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/I
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -580,11 +502,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/f
|
||||
drop
|
||||
i32.const 0
|
||||
end
|
||||
i32.eqz
|
||||
i32.eqz
|
||||
if
|
||||
@@ -595,11 +515,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/F
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -669,11 +587,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/an
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -683,7 +599,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 1
|
||||
local.tee $0
|
||||
global.get $instanceof/an
|
||||
@@ -697,7 +612,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $0
|
||||
end
|
||||
global.set $instanceof/an
|
||||
global.get $instanceof/an
|
||||
i32.const 0
|
||||
@@ -711,11 +625,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $instanceof/an
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
|
@@ -25,8 +25,6 @@
|
||||
f64.ne
|
||||
if (result i32)
|
||||
unreachable
|
||||
f64.const 0
|
||||
unreachable
|
||||
else
|
||||
i32.const 0
|
||||
end
|
||||
@@ -45,8 +43,6 @@
|
||||
i32.const 1
|
||||
else
|
||||
unreachable
|
||||
f64.const 0
|
||||
unreachable
|
||||
end
|
||||
drop
|
||||
i32.const 1
|
||||
@@ -75,8 +71,6 @@
|
||||
i32.const 1
|
||||
else
|
||||
unreachable
|
||||
f64.const 0
|
||||
unreachable
|
||||
end
|
||||
drop
|
||||
i32.const 1
|
||||
|
@@ -5,8 +5,8 @@
|
||||
(type $FUNCSIG$v (func))
|
||||
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m")
|
||||
(data (i32.const 32) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s")
|
||||
(data (i32.const 8) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s")
|
||||
(data (i32.const 48) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m")
|
||||
(export "memory" (memory $0))
|
||||
(export "whileReturn" (func $loop-flow/whileReturn))
|
||||
(export "whileThrow" (func $loop-flow/whileThrow))
|
||||
@@ -19,25 +19,11 @@
|
||||
(export "doReturn" (func $loop-flow/whileReturn))
|
||||
(export "doThrow" (func $loop-flow/doThrow))
|
||||
(export "doAny" (func $loop-flow/doAny))
|
||||
(start $start)
|
||||
(func $loop-flow/whileReturn (; 1 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 1
|
||||
)
|
||||
(func $loop-flow/whileThrow (; 2 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 9
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/whileContinue (; 3 ;) (type $FUNCSIG$i) (result i32)
|
||||
loop $continue|0
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/whileAny (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $loop-flow/whileAny (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
loop $continue|0 (result i32)
|
||||
local.get $0
|
||||
i32.const 1
|
||||
@@ -49,24 +35,16 @@
|
||||
i32.const 2
|
||||
i32.ne
|
||||
br_if $continue|0
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 22
|
||||
i32.const 21
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $loop-flow/forThrow (; 5 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 35
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/forAny (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $loop-flow/forAny (; 3 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
loop $loop|0 (result i32)
|
||||
local.get $0
|
||||
i32.const 1
|
||||
@@ -78,9 +56,9 @@
|
||||
i32.const 2
|
||||
i32.eq
|
||||
if
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 48
|
||||
i32.const 54
|
||||
i32.const 21
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@@ -89,15 +67,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $loop-flow/doThrow (; 7 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 61
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/doAny (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $loop-flow/doAny (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
loop $continue|0 (result i32)
|
||||
local.get $0
|
||||
i32.const 1
|
||||
@@ -109,16 +79,87 @@
|
||||
i32.const 2
|
||||
i32.ne
|
||||
br_if $continue|0
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 68
|
||||
i32.const 78
|
||||
i32.const 21
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $null (; 9 ;) (type $FUNCSIG$v)
|
||||
(func $start:loop-flow (; 5 ;) (type $FUNCSIG$v)
|
||||
i32.const 1
|
||||
call $loop-flow/whileAny
|
||||
i32.const 1
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 29
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 1
|
||||
call $loop-flow/forAny
|
||||
i32.const 1
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 59
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 1
|
||||
call $loop-flow/doAny
|
||||
i32.const 1
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 83
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $loop-flow/whileThrow (; 6 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 11
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/whileContinue (; 7 ;) (type $FUNCSIG$i) (result i32)
|
||||
loop $continue|0
|
||||
br $continue|0
|
||||
end
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/forThrow (; 8 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 41
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/doThrow (; 9 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 71
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $start (; 10 ;) (type $FUNCSIG$v)
|
||||
call $start:loop-flow
|
||||
)
|
||||
(func $null (; 11 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
@@ -4,6 +4,8 @@ export function whileReturn(): i32 {
|
||||
}
|
||||
}
|
||||
|
||||
assert(whileReturn() == 1);
|
||||
|
||||
export function whileThrow(): i32 {
|
||||
while (true) {
|
||||
throw new Error("term");
|
||||
@@ -24,12 +26,16 @@ export function whileAny(a: i32): i32 {
|
||||
}
|
||||
}
|
||||
|
||||
assert(whileAny(1) == 1);
|
||||
|
||||
export function forReturn(): i32 {
|
||||
for (;;) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
assert(forReturn() == 1);
|
||||
|
||||
export function forThrow(): i32 {
|
||||
for (;;) {
|
||||
throw new Error("term");
|
||||
@@ -50,12 +56,16 @@ export function forAny(a: i32): i32 {
|
||||
}
|
||||
}
|
||||
|
||||
assert(forAny(1) == 1);
|
||||
|
||||
export function doReturn(): i32 {
|
||||
do {
|
||||
return 1;
|
||||
} while (true);
|
||||
}
|
||||
|
||||
assert(doReturn() == 1);
|
||||
|
||||
export function doThrow(): i32 {
|
||||
do {
|
||||
throw new Error("term");
|
||||
@@ -69,3 +79,5 @@ export function doAny(a: i32): i32 {
|
||||
else continue;
|
||||
} while (true);
|
||||
}
|
||||
|
||||
assert(doAny(1) == 1);
|
||||
|
@@ -5,8 +5,8 @@
|
||||
(type $FUNCSIG$v (func))
|
||||
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m\00")
|
||||
(data (i32.const 32) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s\00")
|
||||
(data (i32.const 8) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s\00")
|
||||
(data (i32.const 48) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00e\00r\00m\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(export "memory" (memory $0))
|
||||
@@ -21,31 +21,12 @@
|
||||
(export "doReturn" (func $loop-flow/doReturn))
|
||||
(export "doThrow" (func $loop-flow/doThrow))
|
||||
(export "doAny" (func $loop-flow/doAny))
|
||||
(start $start)
|
||||
(func $loop-flow/whileReturn (; 1 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 1
|
||||
return
|
||||
)
|
||||
(func $loop-flow/whileThrow (; 2 ;) (type $FUNCSIG$i) (result i32)
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 9
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/whileContinue (; 3 ;) (type $FUNCSIG$i) (result i32)
|
||||
loop $continue|0
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/whileAny (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $loop-flow/whileAny (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
loop $continue|0
|
||||
local.get $0
|
||||
i32.const 1
|
||||
@@ -58,61 +39,26 @@
|
||||
i32.const 2
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 22
|
||||
i32.const 21
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
else
|
||||
block
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/forReturn (; 5 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $loop-flow/forReturn (; 3 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 1
|
||||
return
|
||||
)
|
||||
(func $loop-flow/forThrow (; 6 ;) (type $FUNCSIG$i) (result i32)
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 35
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/forContinue (; 7 ;) (type $FUNCSIG$i) (result i32)
|
||||
loop $loop|0
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/forAny (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $loop-flow/forAny (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
loop $loop|0
|
||||
block $continue|0
|
||||
local.get $0
|
||||
@@ -126,55 +72,28 @@
|
||||
i32.const 2
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 48
|
||||
i32.const 54
|
||||
i32.const 21
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
else
|
||||
block
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/doReturn (; 9 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $loop-flow/doReturn (; 5 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 1
|
||||
return
|
||||
)
|
||||
(func $loop-flow/doThrow (; 10 ;) (type $FUNCSIG$i) (result i32)
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 61
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/doAny (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $loop-flow/doAny (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
loop $continue|0
|
||||
local.get $0
|
||||
i32.const 1
|
||||
@@ -187,36 +106,137 @@
|
||||
i32.const 2
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 48
|
||||
i32.const 68
|
||||
i32.const 78
|
||||
i32.const 21
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
else
|
||||
block
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $null (; 12 ;) (type $FUNCSIG$v)
|
||||
(func $start:loop-flow (; 7 ;) (type $FUNCSIG$v)
|
||||
call $loop-flow/whileReturn
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 7
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 1
|
||||
call $loop-flow/whileAny
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 29
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
call $loop-flow/forReturn
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 37
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 1
|
||||
call $loop-flow/forAny
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 59
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
call $loop-flow/doReturn
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 67
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 1
|
||||
call $loop-flow/doAny
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 83
|
||||
i32.const 0
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $loop-flow/whileThrow (; 8 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 11
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/whileContinue (; 9 ;) (type $FUNCSIG$i) (result i32)
|
||||
loop $continue|0
|
||||
br $continue|0
|
||||
end
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/forThrow (; 10 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 41
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/forContinue (; 11 ;) (type $FUNCSIG$i) (result i32)
|
||||
loop $loop|0
|
||||
br $loop|0
|
||||
end
|
||||
unreachable
|
||||
)
|
||||
(func $loop-flow/doThrow (; 12 ;) (type $FUNCSIG$i) (result i32)
|
||||
i32.const 64
|
||||
i32.const 24
|
||||
i32.const 71
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
)
|
||||
(func $start (; 13 ;) (type $FUNCSIG$v)
|
||||
call $start:loop-flow
|
||||
)
|
||||
(func $null (; 14 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
||||
|
@@ -504,7 +504,6 @@
|
||||
f64.sub
|
||||
local.get $11
|
||||
f64.add
|
||||
local.set $8
|
||||
f64.const 2
|
||||
local.get $4
|
||||
f64.mul
|
||||
@@ -513,7 +512,6 @@
|
||||
local.get $10
|
||||
f64.add
|
||||
local.set $5
|
||||
local.get $8
|
||||
local.set $4
|
||||
local.get $6
|
||||
i32.const 1
|
||||
|
@@ -601,18 +601,13 @@
|
||||
local.get $3
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
br $break|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $18
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $18
|
||||
br $continue|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -649,7 +644,6 @@
|
||||
i32.add
|
||||
local.set $18
|
||||
br $continue|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -679,7 +673,6 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
f64.convert_i32_s
|
||||
block $../../examples/mandelbrot/assembly/index/clamp<f64>|inlined.0 (result f64)
|
||||
local.get $18
|
||||
i32.const 1
|
||||
i32.add
|
||||
@@ -698,7 +691,6 @@
|
||||
f64.max
|
||||
local.get $22
|
||||
f64.min
|
||||
end
|
||||
f64.mul
|
||||
i32.trunc_f64_u
|
||||
local.set $20
|
||||
@@ -715,7 +707,6 @@
|
||||
i32.add
|
||||
local.set $12
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -31,22 +31,18 @@
|
||||
end
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -54,7 +50,6 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -112,7 +107,6 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -179,22 +173,18 @@
|
||||
i32.const 1
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -230,58 +220,46 @@
|
||||
local.get $1
|
||||
i32.load
|
||||
local.set $4
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -370,53 +348,40 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|3
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
br $break|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
i32.load
|
||||
local.set $4
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -505,35 +470,26 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|4
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
br $break|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
i32.load
|
||||
local.set $4
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -622,307 +578,238 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|5
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
br $break|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
local.get $2
|
||||
i32.const 16
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -930,148 +817,116 @@
|
||||
i32.const 8
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1079,76 +934,60 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1156,40 +995,32 @@
|
||||
i32.const 2
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1197,22 +1028,18 @@
|
||||
i32.const 1
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
|
@@ -52,26 +52,21 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $4
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $4
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $4
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $4
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -99,7 +94,6 @@
|
||||
i32.add
|
||||
local.set $1
|
||||
br $continue|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -109,22 +103,18 @@
|
||||
local.get $2
|
||||
i32.eqz
|
||||
br_if $break|2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $4
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $4
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $4
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $4
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -132,7 +122,6 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -172,7 +161,6 @@
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
br $continue|3
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -196,7 +184,6 @@
|
||||
i64.load
|
||||
i64.store
|
||||
br $continue|4
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -218,7 +205,6 @@
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
br $continue|5
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -80,7 +80,6 @@
|
||||
i32.and
|
||||
local.tee $2
|
||||
i32.sub
|
||||
local.set $3
|
||||
local.get $0
|
||||
local.get $2
|
||||
i32.add
|
||||
@@ -92,7 +91,6 @@
|
||||
i32.mul
|
||||
local.tee $1
|
||||
i32.store
|
||||
local.get $3
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $2
|
||||
|
@@ -269,7 +269,6 @@
|
||||
i32.add
|
||||
local.set $0
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -7,7 +7,6 @@
|
||||
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$if (func (param f32) (result i32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ji (func (param i32) (result i64)))
|
||||
(type $FUNCSIG$iijijij (func (param i32 i64 i32 i64 i32 i64) (result i32)))
|
||||
(type $FUNCSIG$i (func (result i32)))
|
||||
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
|
||||
@@ -21,21 +20,19 @@
|
||||
(data (i32.const 184) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y")
|
||||
(data (i32.const 216) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8<D\a7\a4\d9|\9b\fb\10D\a4\a7LLv\bb\1a\9c@\b6\ef\8e\ab\8b,\84W\a6\10\ef\1f\d0)1\91\e9\e5\a4\10\9b\9d\0c\9c\a1\fb\9b\10\e7)\f4;b\d9 (\ac\85\cf\a7z^KD\80-\dd\ac\03@\e4!\bf\8f\ffD^/\9cg\8eA\b8\8c\9c\9d\173\d4\a9\1b\e3\b4\92\db\19\9e\d9w\df\ban\bf\96\ebk\ee\f0\9b;\02\87\af")
|
||||
(data (i32.const 928) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\e8\00\00\00\e8\00\00\00\b8\02\00\00W")
|
||||
(data (i32.const 960) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e")
|
||||
(data (i32.const 1016) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 1064) "\ae\00\00\00\01\00\00\00\00\00\00\00\ae\00\00\00<\fbW\fbr\fb\8c\fb\a7\fb\c1\fb\dc\fb\f6\fb\11\fc,\fcF\fca\fc{\fc\96\fc\b1\fc\cb\fc\e6\fc\00\fd\1b\fd5\fdP\fdk\fd\85\fd\a0\fd\ba\fd\d5\fd\ef\fd\n\fe%\fe?\feZ\fet\fe\8f\fe\a9\fe\c4\fe\df\fe\f9\fe\14\ff.\ffI\ffc\ff~\ff\99\ff\b3\ff\ce\ff\e8\ff\03\00\1e\008\00S\00m\00\88\00\a2\00\bd\00\d8\00\f2\00\0d\01\'\01B\01\\\01w\01\92\01\ac\01\c7\01\e1\01\fc\01\16\021\02L\02f\02\81\02\9b\02\b6\02\d0\02\eb\02\06\03 \03;\03U\03p\03\8b\03\a5\03\c0\03\da\03\f5\03\0f\04*\04")
|
||||
(data (i32.const 1256) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\008\04\00\008\04\00\00\ae\00\00\00W")
|
||||
(data (i32.const 1288) "(\00\00\00\01\00\00\00\00\00\00\00(\00\00\00\01\00\00\00\n\00\00\00d\00\00\00\e8\03\00\00\10\'\00\00\a0\86\01\00@B\0f\00\80\96\98\00\00\e1\f5\05\00\ca\9a;")
|
||||
(data (i32.const 1344) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\18\05\00\00\18\05\00\00(\00\00\00\n")
|
||||
(data (i32.const 1376) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
|
||||
(data (i32.const 1428) "\01\00\00\00\01")
|
||||
(data (i32.const 1440) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\002\00.\000")
|
||||
(data (i32.const 1464) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\003")
|
||||
(data (i32.const 1488) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\005")
|
||||
(data (i32.const 1512) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004")
|
||||
(data (i32.const 1536) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002")
|
||||
(data (i32.const 1560) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e")
|
||||
(data (i32.const 1584) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e")
|
||||
(data (i32.const 960) "\ae\00\00\00\01\00\00\00\00\00\00\00\ae\00\00\00<\fbW\fbr\fb\8c\fb\a7\fb\c1\fb\dc\fb\f6\fb\11\fc,\fcF\fca\fc{\fc\96\fc\b1\fc\cb\fc\e6\fc\00\fd\1b\fd5\fdP\fdk\fd\85\fd\a0\fd\ba\fd\d5\fd\ef\fd\n\fe%\fe?\feZ\fet\fe\8f\fe\a9\fe\c4\fe\df\fe\f9\fe\14\ff.\ffI\ffc\ff~\ff\99\ff\b3\ff\ce\ff\e8\ff\03\00\1e\008\00S\00m\00\88\00\a2\00\bd\00\d8\00\f2\00\0d\01\'\01B\01\\\01w\01\92\01\ac\01\c7\01\e1\01\fc\01\16\021\02L\02f\02\81\02\9b\02\b6\02\d0\02\eb\02\06\03 \03;\03U\03p\03\8b\03\a5\03\c0\03\da\03\f5\03\0f\04*\04")
|
||||
(data (i32.const 1152) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\d0\03\00\00\d0\03\00\00\ae\00\00\00W")
|
||||
(data (i32.const 1184) "(\00\00\00\01\00\00\00\00\00\00\00(\00\00\00\01\00\00\00\n\00\00\00d\00\00\00\e8\03\00\00\10\'\00\00\a0\86\01\00@B\0f\00\80\96\98\00\00\e1\f5\05\00\ca\9a;")
|
||||
(data (i32.const 1240) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\b0\04\00\00\b0\04\00\00(\00\00\00\n")
|
||||
(data (i32.const 1272) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
|
||||
(data (i32.const 1324) "\01\00\00\00\01")
|
||||
(data (i32.const 1336) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\002\00.\000")
|
||||
(data (i32.const 1360) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\003")
|
||||
(data (i32.const 1384) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\005")
|
||||
(data (i32.const 1408) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004")
|
||||
(data (i32.const 1432) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002")
|
||||
(data (i32.const 1456) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e")
|
||||
(data (i32.const 1480) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e")
|
||||
(global $number/a (mut i32) (i32.const 1))
|
||||
(global $~lib/rt/stub/startOffset (mut i32) (i32.const 0))
|
||||
(global $~lib/rt/stub/offset (mut i32) (i32.const 0))
|
||||
@@ -321,53 +318,7 @@
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/array/Array<u64>#__get (; 10 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64)
|
||||
local.get $0
|
||||
i32.const 952
|
||||
i32.load
|
||||
i32.const 3
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
i32.const 976
|
||||
i32.const 1032
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 948
|
||||
i32.load
|
||||
local.get $0
|
||||
i32.const 3
|
||||
i32.shl
|
||||
i32.add
|
||||
i64.load
|
||||
)
|
||||
(func $~lib/array/Array<i16>#__get (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 1280
|
||||
i32.load
|
||||
i32.const 1
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
i32.const 976
|
||||
i32.const 1032
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 1276
|
||||
i32.load
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.shl
|
||||
i32.add
|
||||
i32.load16_s
|
||||
)
|
||||
(func $~lib/util/number/genDigits (; 12 ;) (type $FUNCSIG$iijijij) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (result i32)
|
||||
(func $~lib/util/number/genDigits (; 10 ;) (type $FUNCSIG$iijijij) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (result i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i64)
|
||||
@@ -405,7 +356,7 @@
|
||||
local.tee $6
|
||||
call $~lib/util/number/decimalCount32
|
||||
local.set $4
|
||||
i32.const 1364
|
||||
i32.const 1260
|
||||
i32.load
|
||||
local.set $12
|
||||
loop $continue|0
|
||||
@@ -767,7 +718,7 @@
|
||||
i32.store16
|
||||
local.get $2
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(func $~lib/memory/memory.copy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
@@ -942,7 +893,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/prettify (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/prettify (; 12 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@@ -1097,7 +1048,6 @@
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.tee $0
|
||||
block (result i32)
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@@ -1112,7 +1062,6 @@
|
||||
local.set $2
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.get $2
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
@@ -1155,7 +1104,6 @@
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.tee $2
|
||||
block (result i32)
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@@ -1170,7 +1118,6 @@
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
@@ -1193,14 +1140,13 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/dtoa_core (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(func $~lib/util/number/dtoa_core (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
(local $7 f64)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $6 f64)
|
||||
i64.const -9223372036854774784
|
||||
global.set $~lib/util/number/_frc_plus
|
||||
i64.const 9223372036854775296
|
||||
@@ -1216,95 +1162,66 @@
|
||||
f64.mul
|
||||
f64.const 347
|
||||
f64.add
|
||||
local.tee $7
|
||||
local.tee $6
|
||||
i32.trunc_f64_s
|
||||
local.tee $5
|
||||
local.get $5
|
||||
local.tee $4
|
||||
local.get $4
|
||||
f64.convert_i32_s
|
||||
local.get $7
|
||||
local.get $6
|
||||
f64.ne
|
||||
i32.add
|
||||
i32.const 3
|
||||
i32.shr_s
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $5
|
||||
local.tee $4
|
||||
i32.const 3
|
||||
i32.shl
|
||||
i32.sub
|
||||
global.set $~lib/util/number/_K
|
||||
local.get $5
|
||||
call $~lib/array/Array<u64>#__get
|
||||
i32.const 948
|
||||
i32.load
|
||||
local.get $4
|
||||
i32.const 3
|
||||
i32.shl
|
||||
i32.add
|
||||
i64.load
|
||||
global.set $~lib/util/number/_frc_pow
|
||||
local.get $5
|
||||
call $~lib/array/Array<i16>#__get
|
||||
i32.const 1172
|
||||
i32.load
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.shl
|
||||
i32.add
|
||||
i32.load16_s
|
||||
global.set $~lib/util/number/_exp_pow
|
||||
global.get $~lib/util/number/_frc_pow
|
||||
local.tee $3
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $2
|
||||
global.get $~lib/util/number/_frc_plus
|
||||
local.tee $4
|
||||
local.tee $1
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $1
|
||||
local.get $3
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $3
|
||||
i64.mul
|
||||
local.get $4
|
||||
global.get $~lib/util/number/_frc_pow
|
||||
local.tee $2
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $4
|
||||
local.get $2
|
||||
local.tee $5
|
||||
i64.mul
|
||||
local.get $1
|
||||
local.get $2
|
||||
i64.mul
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.tee $1
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
i64.const 2147483647
|
||||
i64.add
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $3
|
||||
local.get $4
|
||||
i64.mul
|
||||
local.get $1
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
i64.add
|
||||
i64.const 1
|
||||
i64.sub
|
||||
local.tee $4
|
||||
local.get $3
|
||||
global.get $~lib/util/number/_frc_minus
|
||||
local.tee $1
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $6
|
||||
i64.mul
|
||||
local.tee $2
|
||||
local.get $1
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $1
|
||||
local.get $2
|
||||
i64.mul
|
||||
local.get $2
|
||||
local.get $6
|
||||
local.get $3
|
||||
i64.mul
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.tee $6
|
||||
local.tee $3
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@@ -1313,15 +1230,14 @@
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
i64.mul
|
||||
local.get $6
|
||||
local.get $3
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
i64.add
|
||||
i64.const 1
|
||||
i64.add
|
||||
i64.sub
|
||||
local.set $1
|
||||
local.get $0
|
||||
@@ -1331,7 +1247,7 @@
|
||||
i64.mul
|
||||
i64.const 0
|
||||
i64.add
|
||||
local.tee $2
|
||||
local.tee $3
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.const 0
|
||||
@@ -1340,10 +1256,10 @@
|
||||
i64.add
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $3
|
||||
local.get $5
|
||||
i64.const 2147483648
|
||||
i64.mul
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
@@ -1352,25 +1268,63 @@
|
||||
local.tee $0
|
||||
i32.const 2
|
||||
i32.add
|
||||
local.get $4
|
||||
local.get $1
|
||||
global.get $~lib/util/number/_exp
|
||||
local.get $0
|
||||
i32.add
|
||||
i32.const -64
|
||||
i32.sub
|
||||
local.get $1
|
||||
global.get $~lib/util/number/_frc_minus
|
||||
local.tee $1
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $3
|
||||
local.get $5
|
||||
i64.mul
|
||||
local.get $1
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $1
|
||||
local.get $2
|
||||
i64.mul
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.mul
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.tee $2
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
i64.const 2147483647
|
||||
i64.add
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $1
|
||||
local.get $5
|
||||
i64.mul
|
||||
local.get $2
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
i64.add
|
||||
i64.const 1
|
||||
i64.add
|
||||
i64.sub
|
||||
call $~lib/util/number/genDigits
|
||||
global.get $~lib/util/number/_K
|
||||
call $~lib/util/number/prettify
|
||||
)
|
||||
(func $~lib/string/String#substring (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#substring (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 1392
|
||||
i32.const 1288
|
||||
i32.const 196
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
@@ -1418,7 +1372,7 @@
|
||||
local.tee $2
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 1440
|
||||
i32.const 1336
|
||||
return
|
||||
end
|
||||
local.get $3
|
||||
@@ -1446,7 +1400,7 @@
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/util/number/dtoa (; 17 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $~lib/util/number/dtoa (; 15 ;) (type $FUNCSIG$i) (result i32)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
f64.const 2
|
||||
@@ -1477,13 +1431,13 @@
|
||||
local.get $1
|
||||
call $~lib/string/String#substring
|
||||
)
|
||||
(func $~lib/number/Bool#toString (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 1576
|
||||
i32.const 1600
|
||||
(func $~lib/number/Bool#toString (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
i32.const 1472
|
||||
i32.const 1496
|
||||
local.get $0
|
||||
select
|
||||
)
|
||||
(func $~lib/number/F32.isSafeInteger (; 19 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(func $~lib/number/F32.isSafeInteger (; 17 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
f32.trunc
|
||||
local.get $0
|
||||
@@ -1495,7 +1449,7 @@
|
||||
f32.le
|
||||
select
|
||||
)
|
||||
(func $~lib/number/F32.isInteger (; 20 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(func $~lib/number/F32.isInteger (; 18 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
f32.trunc
|
||||
local.get $0
|
||||
@@ -1508,7 +1462,7 @@
|
||||
f32.eq
|
||||
select
|
||||
)
|
||||
(func $~lib/number/F64.isSafeInteger (; 21 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/number/F64.isSafeInteger (; 19 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
f64.trunc
|
||||
local.get $0
|
||||
@@ -1520,7 +1474,7 @@
|
||||
f64.le
|
||||
select
|
||||
)
|
||||
(func $~lib/number/F64.isInteger (; 22 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/number/F64.isInteger (; 20 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
call $~lib/number/isFinite<f64>
|
||||
if (result i32)
|
||||
@@ -1532,9 +1486,9 @@
|
||||
i32.const 0
|
||||
end
|
||||
)
|
||||
(func $start:number (; 23 ;) (type $FUNCSIG$v)
|
||||
(func $start:number (; 21 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
i32.const 1616
|
||||
i32.const 1520
|
||||
global.set $~lib/rt/stub/startOffset
|
||||
global.get $~lib/rt/stub/startOffset
|
||||
global.set $~lib/rt/stub/offset
|
||||
@@ -1552,7 +1506,7 @@
|
||||
unreachable
|
||||
end
|
||||
call $~lib/util/number/dtoa
|
||||
i32.const 1456
|
||||
i32.const 1352
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -1565,7 +1519,7 @@
|
||||
end
|
||||
i32.const 3
|
||||
call $~lib/util/number/itoa32
|
||||
i32.const 1480
|
||||
i32.const 1376
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -1578,7 +1532,7 @@
|
||||
end
|
||||
i32.const -5
|
||||
call $~lib/util/number/itoa32
|
||||
i32.const 1504
|
||||
i32.const 1400
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -1591,7 +1545,7 @@
|
||||
end
|
||||
i32.const 4
|
||||
call $~lib/util/number/itoa32
|
||||
i32.const 1528
|
||||
i32.const 1424
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -1608,7 +1562,7 @@
|
||||
global.set $number/a
|
||||
global.get $number/a
|
||||
call $~lib/util/number/itoa32
|
||||
i32.const 1552
|
||||
i32.const 1448
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -1638,7 +1592,7 @@
|
||||
end
|
||||
i32.const 1
|
||||
call $~lib/number/Bool#toString
|
||||
i32.const 1576
|
||||
i32.const 1472
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -1651,7 +1605,7 @@
|
||||
end
|
||||
i32.const 0
|
||||
call $~lib/number/Bool#toString
|
||||
i32.const 1600
|
||||
i32.const 1496
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -1687,7 +1641,7 @@
|
||||
global.set $number/a
|
||||
local.get $0
|
||||
call $~lib/util/number/itoa32
|
||||
i32.const 1552
|
||||
i32.const 1448
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
if
|
||||
@@ -2150,10 +2104,10 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 24 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 22 ;) (type $FUNCSIG$v)
|
||||
call $start:number
|
||||
)
|
||||
(func $null (; 25 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 23 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -12,7 +12,6 @@
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
block
|
||||
i32.const 127
|
||||
local.set $0
|
||||
local.get $0
|
||||
@@ -55,14 +54,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
end
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.const 24
|
||||
@@ -80,14 +77,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $0
|
||||
local.get $2
|
||||
end
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.const 24
|
||||
@@ -205,8 +200,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
block
|
||||
i32.const 32767
|
||||
local.set $1
|
||||
local.get $1
|
||||
@@ -249,14 +242,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
local.get $1
|
||||
i32.const 16
|
||||
@@ -274,14 +265,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $1
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
local.get $1
|
||||
i32.const 16
|
||||
@@ -399,8 +388,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
block
|
||||
i32.const 0
|
||||
local.set $0
|
||||
local.get $0
|
||||
@@ -439,14 +426,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $0
|
||||
local.get $2
|
||||
end
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.const 255
|
||||
@@ -462,14 +447,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
end
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.const 255
|
||||
@@ -575,8 +558,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
block
|
||||
i32.const 0
|
||||
local.set $1
|
||||
local.get $1
|
||||
@@ -615,14 +596,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $1
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
local.get $1
|
||||
i32.const 65535
|
||||
@@ -638,14 +617,12 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
local.get $1
|
||||
i32.const 65535
|
||||
@@ -751,7 +728,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $start (; 2 ;) (type $FUNCSIG$v)
|
||||
call $start:overflow
|
||||
|
@@ -49,13 +49,9 @@
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
else
|
||||
nop
|
||||
end
|
||||
@@ -69,13 +65,9 @@
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
@@ -101,13 +93,9 @@
|
||||
i32.const 0
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
else
|
||||
nop
|
||||
end
|
||||
@@ -122,13 +110,9 @@
|
||||
i32.const 0
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
@@ -156,13 +140,9 @@
|
||||
i32.ne
|
||||
i32.eqz
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
else
|
||||
nop
|
||||
end
|
||||
@@ -178,13 +158,9 @@
|
||||
i32.ne
|
||||
i32.eqz
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
@@ -200,7 +176,6 @@
|
||||
local.get $0
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
local.tee $1
|
||||
local.get $0
|
||||
@@ -214,10 +189,8 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $1
|
||||
end
|
||||
local.set $0
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -238,7 +211,6 @@
|
||||
local.get $0
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
local.get $0
|
||||
@@ -252,10 +224,8 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -280,7 +250,6 @@
|
||||
br_if $break|0
|
||||
local.get $1
|
||||
if
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
local.get $0
|
||||
@@ -294,11 +263,9 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
end
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -417,7 +384,6 @@
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__retain
|
||||
drop
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
local.get $0
|
||||
@@ -431,7 +397,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -451,7 +451,6 @@
|
||||
i32.add
|
||||
local.set $0
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -1788,14 +1788,12 @@
|
||||
i32.and
|
||||
local.tee $1
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.add
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $2
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $1
|
||||
@@ -2112,10 +2110,8 @@
|
||||
if
|
||||
i32.const 584
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
return
|
||||
end
|
||||
local.get $2
|
||||
@@ -2150,12 +2146,10 @@
|
||||
select
|
||||
local.get $1
|
||||
call $~lib/string/String#concat
|
||||
local.set $2
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
)
|
||||
(func $~lib/rt/pure/markGray (; 36 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
@@ -2424,7 +2418,6 @@
|
||||
i32.const 0
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
local.set $1
|
||||
loop $loop|0
|
||||
local.get $3
|
||||
i32.const 10
|
||||
@@ -2467,7 +2460,6 @@
|
||||
br $loop|0
|
||||
end
|
||||
end
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
i32.const 600
|
||||
call $~lib/rt/pure/__retain
|
||||
@@ -2479,14 +2471,12 @@
|
||||
local.tee $2
|
||||
i32.const 672
|
||||
call $~lib/string/String.__concat
|
||||
local.set $3
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $3
|
||||
call $~lib/rt/pure/__release
|
||||
i32.const 4
|
||||
i32.const 6
|
||||
@@ -2496,7 +2486,6 @@
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $0
|
||||
local.set $3
|
||||
i32.const 4
|
||||
i32.const 7
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
@@ -2518,7 +2507,6 @@
|
||||
local.get $4
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $3
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $0
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -152,8 +152,6 @@
|
||||
(func $retain-release/assignGlobal (; 8 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
global.get $retain-release/REF
|
||||
local.set $0
|
||||
local.get $0
|
||||
global.set $retain-release/glo
|
||||
)
|
||||
(func $retain-release/assignField (; 9 ;) (type $FUNCSIG$v)
|
||||
|
@@ -257,7 +257,6 @@
|
||||
(func $retain-release/assignGlobal (; 16 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
block (result i32)
|
||||
global.get $retain-release/REF
|
||||
local.tee $0
|
||||
global.get $retain-release/glo
|
||||
@@ -271,7 +270,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $0
|
||||
end
|
||||
global.set $retain-release/glo
|
||||
)
|
||||
(func $retain-release/assignField (; 17 ;) (type $FUNCSIG$v)
|
||||
@@ -279,7 +277,6 @@
|
||||
(local $1 i32)
|
||||
global.get $retain-release/TARGET
|
||||
local.tee $0
|
||||
block (result i32)
|
||||
global.get $retain-release/REF
|
||||
local.tee $1
|
||||
local.get $0
|
||||
@@ -294,7 +291,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $1
|
||||
end
|
||||
i32.store
|
||||
)
|
||||
(func $retain-release/scopeBlock (; 18 ;) (type $FUNCSIG$v)
|
||||
@@ -315,7 +311,6 @@
|
||||
global.get $retain-release/REF
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $1
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
local.get $0
|
||||
@@ -329,7 +324,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
@@ -347,7 +341,6 @@
|
||||
global.get $retain-release/REF
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $1
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $2
|
||||
local.get $0
|
||||
@@ -361,7 +354,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
@@ -377,7 +369,6 @@
|
||||
local.set $1
|
||||
local.get $0
|
||||
if
|
||||
block (result i32)
|
||||
global.get $retain-release/REF
|
||||
local.tee $2
|
||||
local.get $1
|
||||
@@ -391,13 +382,11 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.set $1
|
||||
end
|
||||
global.get $retain-release/REF
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $2
|
||||
local.tee $3
|
||||
local.get $1
|
||||
@@ -411,7 +400,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $3
|
||||
end
|
||||
local.set $1
|
||||
local.get $2
|
||||
call $~lib/rt/stub/__release
|
||||
@@ -441,7 +429,6 @@
|
||||
local.set $1
|
||||
local.get $0
|
||||
if
|
||||
block (result i32)
|
||||
global.get $retain-release/REF
|
||||
local.tee $2
|
||||
local.get $1
|
||||
@@ -455,7 +442,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.set $1
|
||||
end
|
||||
local.get $1
|
||||
@@ -502,7 +488,6 @@
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -530,7 +515,6 @@
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -538,7 +522,6 @@
|
||||
(func $retain-release/scopeBreak (; 30 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $0
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
@@ -548,10 +531,6 @@
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
br $break|0
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $retain-release/scopeContinue (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
@@ -567,7 +546,6 @@
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -575,7 +553,6 @@
|
||||
(func $retain-release/scopeThrow (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
block $break|0
|
||||
block
|
||||
local.get $0
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
@@ -584,19 +561,12 @@
|
||||
local.set $1
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 56
|
||||
i32.const 313
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $retain-release/scopeUnreachable (; 33 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
@@ -610,10 +580,6 @@
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $1
|
||||
unreachable
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -636,10 +602,8 @@
|
||||
)
|
||||
(func $retain-release/receiveRefInline (; 36 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
block $retain-release/returnRefInline|inlined.0 (result i32)
|
||||
global.get $retain-release/REF
|
||||
call $~lib/rt/stub/__retain
|
||||
end
|
||||
local.tee $0
|
||||
i32.eqz
|
||||
drop
|
||||
@@ -647,10 +611,8 @@
|
||||
call $~lib/rt/stub/__release
|
||||
)
|
||||
(func $retain-release/receiveRefInlineDrop (; 37 ;) (type $FUNCSIG$v)
|
||||
block $retain-release/returnRefInline|inlined.1 (result i32)
|
||||
global.get $retain-release/REF
|
||||
call $~lib/rt/stub/__retain
|
||||
end
|
||||
call $~lib/rt/stub/__release
|
||||
)
|
||||
(func $retain-release/provideRefIndirect (; 38 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
@@ -662,13 +624,11 @@
|
||||
)
|
||||
(func $retain-release/receiveRefIndirect (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
global.set $~lib/argc
|
||||
local.get $0
|
||||
call_indirect (type $FUNCSIG$i)
|
||||
local.tee $1
|
||||
end
|
||||
i32.eqz
|
||||
drop
|
||||
local.get $1
|
||||
|
@@ -238,11 +238,9 @@
|
||||
i32.const 0
|
||||
call $rt/instanceof/BlackCat#constructor
|
||||
global.set $rt/instanceof/blackcat
|
||||
block (result i32)
|
||||
global.get $rt/instanceof/animal
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -292,11 +290,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $rt/instanceof/cat
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -345,11 +341,9 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $rt/instanceof/blackcat
|
||||
drop
|
||||
i32.const 1
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -36,7 +36,6 @@
|
||||
i32.add
|
||||
local.set $0
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -56,16 +55,13 @@
|
||||
i32.add
|
||||
local.set $1
|
||||
br $loop|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
i64.const 5
|
||||
local.set $2
|
||||
f32.const 10
|
||||
local.set $3
|
||||
end
|
||||
i32.const 42
|
||||
call $scoped/fn
|
||||
)
|
||||
|
@@ -41,20 +41,12 @@
|
||||
i32.load offset=12
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 136
|
||||
i32.const 106
|
||||
i32.const 45
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
local.get $0
|
||||
@@ -63,20 +55,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 184
|
||||
i32.const 136
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -99,20 +83,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 184
|
||||
i32.const 136
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -156,20 +132,12 @@
|
||||
i32.load offset=12
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 136
|
||||
i32.const 106
|
||||
i32.const 45
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
local.get $0
|
||||
@@ -178,20 +146,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 184
|
||||
i32.const 136
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -277,7 +237,6 @@
|
||||
i32.add
|
||||
local.set $7
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -314,7 +273,6 @@
|
||||
i32.const 0
|
||||
i32.eq
|
||||
if
|
||||
block (result i32)
|
||||
i32.const 304
|
||||
local.tee $3
|
||||
local.get $1
|
||||
@@ -328,7 +286,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $3
|
||||
end
|
||||
local.set $1
|
||||
end
|
||||
local.get $0
|
||||
@@ -359,16 +316,12 @@
|
||||
local.get $5
|
||||
i32.gt_s
|
||||
if
|
||||
block
|
||||
i32.const 0
|
||||
local.set $3
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $3
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $6
|
||||
@@ -418,20 +371,12 @@
|
||||
i32.load offset=12
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 24
|
||||
i32.const 136
|
||||
i32.const 106
|
||||
i32.const 45
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $1
|
||||
local.get $0
|
||||
@@ -440,20 +385,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 184
|
||||
i32.const 136
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1875,10 +1875,8 @@
|
||||
i32.const -1
|
||||
i32.const 1073741808
|
||||
call $~lib/arraybuffer/ArrayBuffer#slice
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
local.tee $1
|
||||
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
|
||||
i32.const 1
|
||||
@@ -1895,10 +1893,8 @@
|
||||
i32.const 1
|
||||
i32.const 3
|
||||
call $~lib/arraybuffer/ArrayBuffer#slice
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
local.tee $1
|
||||
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
|
||||
i32.const 2
|
||||
@@ -1915,10 +1911,8 @@
|
||||
i32.const 1
|
||||
i32.const -1
|
||||
call $~lib/arraybuffer/ArrayBuffer#slice
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
local.tee $1
|
||||
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
|
||||
i32.const 6
|
||||
@@ -2073,7 +2067,6 @@
|
||||
i32.const 2
|
||||
call $~lib/arraybuffer/ArrayBufferView#constructor
|
||||
local.tee $0
|
||||
local.set $6
|
||||
local.get $0
|
||||
call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array>
|
||||
i32.eqz
|
||||
@@ -2130,7 +2123,6 @@
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $7
|
||||
call $~lib/rt/pure/__release
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -118,7 +118,6 @@
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/date/Date#constructor (; 5 ;) (type $FUNCSIG$iij) (param $0 i32) (param $1 i64) (result i32)
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -132,7 +131,6 @@
|
||||
i64.const 0
|
||||
i64.store
|
||||
local.get $0
|
||||
end
|
||||
local.get $1
|
||||
i64.store
|
||||
local.get $0
|
||||
@@ -155,7 +153,6 @@
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/date/Date.UTC|inlined.0 (result i64)
|
||||
i32.const 1970
|
||||
local.set $2
|
||||
i32.const 0
|
||||
@@ -180,7 +177,6 @@
|
||||
f64.convert_i64_s
|
||||
call $~lib/bindings/Date/UTC
|
||||
i64.trunc_f64_s
|
||||
end
|
||||
i64.const 0
|
||||
i64.eq
|
||||
i32.eqz
|
||||
@@ -192,7 +188,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/date/Date.UTC|inlined.1 (result i64)
|
||||
i32.const 1970
|
||||
local.set $5
|
||||
i32.const 0
|
||||
@@ -217,7 +212,6 @@
|
||||
f64.convert_i64_s
|
||||
call $~lib/bindings/Date/UTC
|
||||
i64.trunc_f64_s
|
||||
end
|
||||
i64.const 0
|
||||
i64.eq
|
||||
i32.eqz
|
||||
@@ -229,7 +223,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/date/Date.UTC|inlined.2 (result i64)
|
||||
i32.const 2018
|
||||
local.set $5
|
||||
i32.const 10
|
||||
@@ -254,7 +247,6 @@
|
||||
f64.convert_i64_s
|
||||
call $~lib/bindings/Date/UTC
|
||||
i64.trunc_f64_s
|
||||
end
|
||||
global.set $std/date/creationTime
|
||||
global.get $std/date/creationTime
|
||||
i64.const 1541847600001
|
||||
@@ -268,10 +260,8 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block $~lib/date/Date.now|inlined.0 (result i64)
|
||||
call $~lib/bindings/Date/now
|
||||
i64.trunc_f64_s
|
||||
end
|
||||
global.get $std/date/creationTime
|
||||
i64.gt_s
|
||||
i32.eqz
|
||||
|
@@ -46,7 +46,6 @@
|
||||
i32.add
|
||||
local.set $2
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -40,7 +40,6 @@
|
||||
i32.ne
|
||||
if
|
||||
block $break|0
|
||||
block
|
||||
i32.const 0
|
||||
local.set $2
|
||||
local.get $0
|
||||
@@ -48,7 +47,6 @@
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.set $3
|
||||
end
|
||||
loop $loop|0
|
||||
local.get $2
|
||||
local.get $3
|
||||
@@ -69,7 +67,6 @@
|
||||
i32.add
|
||||
local.set $2
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -6,19 +6,15 @@
|
||||
(type $FUNCSIG$ff (func (param f32) (result f32)))
|
||||
(type $FUNCSIG$if (func (param f32) (result i32)))
|
||||
(type $FUNCSIG$fff (func (param f32 f32) (result f32)))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(type $FUNCSIG$ffi (func (param f32 i32) (result f32)))
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$ji (func (param i32) (result i64)))
|
||||
(import "Math" "cos" (func $~lib/bindings/Math/cos (param f64) (result f64)))
|
||||
(import "Math" "sin" (func $~lib/bindings/Math/sin (param f64) (result f64)))
|
||||
(import "Math" "tan" (func $~lib/bindings/Math/tan (param f64) (result f64)))
|
||||
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe")
|
||||
(data (i32.const 56) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\18\00\00\00\18\00\00\00 \00\00\00\04")
|
||||
(data (i32.const 88) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e")
|
||||
(data (i32.const 144) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(global $../../lib/libm/assembly/libm/E f64 (f64.const 2.718281828459045))
|
||||
(global $../../lib/libm/assembly/libm/LN10 f64 (f64.const 2.302585092994046))
|
||||
(global $../../lib/libm/assembly/libm/LN2 f64 (f64.const 0.6931471805599453))
|
||||
@@ -121,11 +117,11 @@
|
||||
(export "libmf.tan" (func $../../lib/libm/assembly/libmf/tan))
|
||||
(export "libmf.tanh" (func $../../lib/libm/assembly/libmf/tanh))
|
||||
(export "libmf.trunc" (func $../../lib/libm/assembly/libmf/trunc))
|
||||
(func $../../lib/libm/assembly/libm/abs (; 4 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/abs (; 3 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.abs
|
||||
)
|
||||
(func $~lib/math/R (; 5 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/R (; 4 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.const 0.16666666666666666
|
||||
local.get $0
|
||||
@@ -168,7 +164,7 @@
|
||||
f64.add
|
||||
f64.div
|
||||
)
|
||||
(func $~lib/math/NativeMath.acos (; 6 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.acos (; 5 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@@ -292,11 +288,11 @@
|
||||
f64.add
|
||||
f64.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/acos (; 7 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/acos (; 6 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.acos
|
||||
)
|
||||
(func $~lib/math/NativeMath.log1p (; 8 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log1p (; 7 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@@ -495,7 +491,7 @@
|
||||
f64.mul
|
||||
f64.add
|
||||
)
|
||||
(func $~lib/math/NativeMath.log (; 9 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log (; 8 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i64)
|
||||
(local $3 f64)
|
||||
@@ -666,7 +662,7 @@
|
||||
f64.mul
|
||||
f64.add
|
||||
)
|
||||
(func $~lib/math/NativeMath.acosh (; 10 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.acosh (; 9 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 i64)
|
||||
local.get $0
|
||||
i64.reinterpret_f64
|
||||
@@ -720,11 +716,11 @@
|
||||
f64.const 0.6931471805599453
|
||||
f64.add
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/acosh (; 11 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/acosh (; 10 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.acosh
|
||||
)
|
||||
(func $~lib/math/NativeMath.asin (; 12 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.asin (; 11 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@@ -862,11 +858,11 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/asin (; 13 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/asin (; 12 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.asin
|
||||
)
|
||||
(func $~lib/math/NativeMath.asinh (; 14 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.asinh (; 13 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i64)
|
||||
local.get $0
|
||||
@@ -936,16 +932,16 @@
|
||||
local.get $0
|
||||
f64.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/asinh (; 15 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/asinh (; 14 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.asinh
|
||||
)
|
||||
(func $~lib/number/isNaN<f64> (; 16 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/number/isNaN<f64> (; 15 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.ne
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan (; 17 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.atan (; 16 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@@ -1170,11 +1166,11 @@
|
||||
local.get $3
|
||||
f64.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/atan (; 18 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/atan (; 17 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.atan
|
||||
)
|
||||
(func $~lib/math/NativeMath.atanh (; 19 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.atanh (; 18 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i64)
|
||||
(local $3 f64)
|
||||
@@ -1231,11 +1227,11 @@
|
||||
local.get $0
|
||||
f64.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/atanh (; 20 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/atanh (; 19 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.atanh
|
||||
)
|
||||
(func $~lib/math/NativeMath.atan2 (; 21 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.atan2 (; 20 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@@ -1483,12 +1479,12 @@
|
||||
i32.and
|
||||
select
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/atan2 (; 22 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/atan2 (; 21 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/math/NativeMath.atan2
|
||||
)
|
||||
(func $~lib/math/NativeMath.cbrt (; 23 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cbrt (; 22 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@@ -1610,22 +1606,22 @@
|
||||
f64.mul
|
||||
f64.add
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/cbrt (; 24 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/cbrt (; 23 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.cbrt
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/ceil (; 25 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/ceil (; 24 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.ceil
|
||||
)
|
||||
(func $~lib/number/isFinite<f64> (; 26 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/number/isFinite<f64> (; 25 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f64.sub
|
||||
f64.const 0
|
||||
f64.eq
|
||||
)
|
||||
(func $~lib/math/NativeMath.clz32 (; 27 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.clz32 (; 26 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/number/isFinite<f64>
|
||||
i32.eqz
|
||||
@@ -1646,15 +1642,15 @@
|
||||
i32.clz
|
||||
f64.convert_i32_s
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/clz32 (; 28 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/clz32 (; 27 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.clz32
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/cos (; 29 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/cos (; 28 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/bindings/Math/cos
|
||||
)
|
||||
(func $~lib/math/NativeMath.expm1 (; 30 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.expm1 (; 29 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@@ -1926,7 +1922,7 @@
|
||||
local.get $4
|
||||
f64.mul
|
||||
)
|
||||
(func $~lib/math/NativeMath.scalbn (; 31 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64)
|
||||
(func $~lib/math/NativeMath.scalbn (; 30 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64)
|
||||
local.get $1
|
||||
i32.const 1023
|
||||
i32.gt_s
|
||||
@@ -2003,7 +1999,7 @@
|
||||
f64.reinterpret_i64
|
||||
f64.mul
|
||||
)
|
||||
(func $~lib/math/NativeMath.exp (; 32 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.exp (; 31 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 f64)
|
||||
(local $3 i32)
|
||||
@@ -2155,7 +2151,7 @@
|
||||
local.get $1
|
||||
call $~lib/math/NativeMath.scalbn
|
||||
)
|
||||
(func $~lib/math/NativeMath.cosh (; 33 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.cosh (; 32 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 i32)
|
||||
(local $2 i64)
|
||||
local.get $0
|
||||
@@ -2219,28 +2215,28 @@
|
||||
f64.const 2247116418577894884661631e283
|
||||
f64.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/cosh (; 34 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/cosh (; 33 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.cosh
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/exp (; 35 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/exp (; 34 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.exp
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/expm1 (; 36 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/expm1 (; 35 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.expm1
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/floor (; 37 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/floor (; 36 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.floor
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/fround (; 38 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/fround (; 37 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f32.demote_f64
|
||||
f64.promote_f32
|
||||
)
|
||||
(func $~lib/math/NativeMath.hypot (; 39 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.hypot (; 38 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 i64)
|
||||
(local $3 f64)
|
||||
(local $4 i64)
|
||||
@@ -2264,10 +2260,8 @@
|
||||
i64.lt_u
|
||||
if
|
||||
local.get $4
|
||||
local.set $11
|
||||
local.get $2
|
||||
local.set $4
|
||||
local.get $11
|
||||
local.set $2
|
||||
end
|
||||
local.get $4
|
||||
@@ -2413,12 +2407,12 @@
|
||||
f64.sqrt
|
||||
f64.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/hypot (; 40 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/hypot (; 39 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/math/NativeMath.hypot
|
||||
)
|
||||
(func $~lib/math/NativeMath.imul (; 41 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.imul (; 40 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
f64.add
|
||||
@@ -2451,16 +2445,16 @@
|
||||
i32.mul
|
||||
f64.convert_i32_s
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/imul (; 42 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/imul (; 41 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/math/NativeMath.imul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/log (; 43 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/log (; 42 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.log
|
||||
)
|
||||
(func $~lib/math/NativeMath.log10 (; 44 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log10 (; 43 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i64)
|
||||
@@ -2664,15 +2658,15 @@
|
||||
local.get $1
|
||||
f64.add
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/log10 (; 45 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/log10 (; 44 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.log10
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/log1p (; 46 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/log1p (; 45 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.log1p
|
||||
)
|
||||
(func $~lib/math/NativeMath.log2 (; 47 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.log2 (; 46 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i64)
|
||||
@@ -2869,21 +2863,21 @@
|
||||
local.get $1
|
||||
f64.add
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/log2 (; 48 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/log2 (; 47 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.log2
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/max (; 49 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/max (; 48 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
f64.max
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/min (; 50 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/min (; 49 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
f64.min
|
||||
)
|
||||
(func $~lib/math/NativeMath.pow (; 51 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.pow (; 50 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
(local $4 i32)
|
||||
@@ -3795,12 +3789,12 @@
|
||||
f64.const 1e-300
|
||||
f64.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/pow (; 52 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/pow (; 51 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/math/NativeMath.pow
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/round (; 53 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/round (; 52 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.const 0.5
|
||||
f64.add
|
||||
@@ -3808,7 +3802,7 @@
|
||||
local.get $0
|
||||
f64.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/sign (; 54 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/sign (; 53 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.abs
|
||||
f64.const 0
|
||||
@@ -3821,11 +3815,11 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/sin (; 55 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/sin (; 54 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/bindings/Math/sin
|
||||
)
|
||||
(func $~lib/math/NativeMath.sinh (; 56 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.sinh (; 55 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 f64)
|
||||
(local $3 i32)
|
||||
@@ -3902,19 +3896,19 @@
|
||||
f64.mul
|
||||
f64.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/sinh (; 57 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/sinh (; 56 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.sinh
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/sqrt (; 58 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/sqrt (; 57 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.sqrt
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/tan (; 59 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/tan (; 58 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/bindings/Math/tan
|
||||
)
|
||||
(func $~lib/math/NativeMath.tanh (; 60 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $~lib/math/NativeMath.tanh (; 59 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 i64)
|
||||
@@ -3993,19 +3987,19 @@
|
||||
local.get $0
|
||||
f64.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/tanh (; 61 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/tanh (; 60 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMath.tanh
|
||||
)
|
||||
(func $../../lib/libm/assembly/libm/trunc (; 62 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
(func $../../lib/libm/assembly/libm/trunc (; 61 ;) (type $FUNCSIG$dd) (param $0 f64) (result f64)
|
||||
local.get $0
|
||||
f64.trunc
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/abs (; 63 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/abs (; 62 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.abs
|
||||
)
|
||||
(func $~lib/math/Rf (; 64 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/Rf (; 63 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.const 0.16666586697101593
|
||||
local.get $0
|
||||
@@ -4024,7 +4018,7 @@
|
||||
f32.add
|
||||
f32.div
|
||||
)
|
||||
(func $~lib/math/NativeMathf.acos (; 65 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.acos (; 64 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@@ -4140,11 +4134,11 @@
|
||||
f32.add
|
||||
f32.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/acos (; 66 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/acos (; 65 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.acos
|
||||
)
|
||||
(func $~lib/math/NativeMathf.log1p (; 67 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.log1p (; 66 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
@@ -4314,7 +4308,7 @@
|
||||
f32.mul
|
||||
f32.add
|
||||
)
|
||||
(func $~lib/math/NativeMathf.log (; 68 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.log (; 67 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
(local $2 f32)
|
||||
(local $3 f32)
|
||||
@@ -4448,7 +4442,7 @@
|
||||
f32.mul
|
||||
f32.add
|
||||
)
|
||||
(func $~lib/math/NativeMathf.acosh (; 69 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.acosh (; 68 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.reinterpret_f32
|
||||
@@ -4498,11 +4492,11 @@
|
||||
f32.const 0.6931471824645996
|
||||
f32.add
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/acosh (; 70 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/acosh (; 69 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.acosh
|
||||
)
|
||||
(func $~lib/math/NativeMathf.asin (; 71 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.asin (; 70 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
(local $2 f32)
|
||||
(local $3 f64)
|
||||
@@ -4582,11 +4576,11 @@
|
||||
local.get $0
|
||||
f32.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/asin (; 72 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/asin (; 71 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.asin
|
||||
)
|
||||
(func $~lib/math/NativeMathf.asinh (; 73 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.asinh (; 72 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@@ -4651,16 +4645,16 @@
|
||||
local.get $0
|
||||
f32.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/asinh (; 74 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/asinh (; 73 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.asinh
|
||||
)
|
||||
(func $~lib/number/isNaN<f32> (; 75 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(func $~lib/number/isNaN<f32> (; 74 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.ne
|
||||
)
|
||||
(func $~lib/math/NativeMathf.atan (; 76 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.atan (; 75 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
(local $2 f32)
|
||||
(local $3 f32)
|
||||
@@ -4858,11 +4852,11 @@
|
||||
local.get $4
|
||||
f32.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/atan (; 77 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/atan (; 76 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.atan
|
||||
)
|
||||
(func $~lib/math/NativeMathf.atanh (; 78 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.atanh (; 77 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@@ -4912,11 +4906,11 @@
|
||||
local.get $0
|
||||
f32.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/atanh (; 79 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/atanh (; 78 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.atanh
|
||||
)
|
||||
(func $~lib/math/NativeMathf.atan2 (; 80 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.atan2 (; 79 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
@@ -5140,12 +5134,12 @@
|
||||
i32.and
|
||||
select
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/atan2 (; 81 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/atan2 (; 80 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/math/NativeMathf.atan2
|
||||
)
|
||||
(func $~lib/math/NativeMathf.cbrt (; 82 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.cbrt (; 81 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f64)
|
||||
(local $2 f64)
|
||||
(local $3 i32)
|
||||
@@ -5244,22 +5238,22 @@
|
||||
f64.div
|
||||
f32.demote_f64
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/cbrt (; 83 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/cbrt (; 82 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.cbrt
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/ceil (; 84 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/ceil (; 83 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.ceil
|
||||
)
|
||||
(func $~lib/number/isFinite<f32> (; 85 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
(func $~lib/number/isFinite<f32> (; 84 ;) (type $FUNCSIG$if) (param $0 f32) (result i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
f32.sub
|
||||
f32.const 0
|
||||
f32.eq
|
||||
)
|
||||
(func $~lib/math/NativeMathf.clz32 (; 86 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.clz32 (; 85 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/number/isFinite<f32>
|
||||
i32.eqz
|
||||
@@ -5280,25 +5274,11 @@
|
||||
i32.clz
|
||||
f32.convert_i32_s
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/clz32 (; 87 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/clz32 (; 86 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.clz32
|
||||
)
|
||||
(func $~lib/array/Array<u64>#__get (; 88 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64)
|
||||
local.get $0
|
||||
i32.const 80
|
||||
i32.load
|
||||
i32.const 3
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
i32.const 104
|
||||
i32.const 160
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
(func $~lib/array/Array<u64>#__unchecked_get (; 87 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64)
|
||||
i32.const 76
|
||||
i32.load
|
||||
local.get $0
|
||||
@@ -5307,7 +5287,7 @@
|
||||
i32.add
|
||||
i64.load
|
||||
)
|
||||
(func $~lib/math/NativeMathf.cos (; 89 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.cos (; 88 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@@ -5412,12 +5392,12 @@
|
||||
i32.const 6
|
||||
i32.shr_s
|
||||
local.tee $7
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $9
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $5
|
||||
local.get $4
|
||||
i32.const 63
|
||||
@@ -5435,7 +5415,7 @@
|
||||
local.get $7
|
||||
i32.const 2
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
i64.const 96
|
||||
local.get $4
|
||||
i64.extend_i32_s
|
||||
@@ -5579,11 +5559,11 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/cos (; 90 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/cos (; 89 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.cos
|
||||
)
|
||||
(func $~lib/math/NativeMathf.expm1 (; 91 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.expm1 (; 90 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
(local $2 f32)
|
||||
(local $3 f32)
|
||||
@@ -5835,7 +5815,7 @@
|
||||
local.get $4
|
||||
f32.mul
|
||||
)
|
||||
(func $~lib/math/NativeMathf.scalbn (; 92 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32)
|
||||
(func $~lib/math/NativeMathf.scalbn (; 91 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32)
|
||||
local.get $1
|
||||
i32.const 127
|
||||
i32.gt_s
|
||||
@@ -5911,7 +5891,7 @@
|
||||
f32.reinterpret_i32
|
||||
f32.mul
|
||||
)
|
||||
(func $~lib/math/NativeMathf.exp (; 93 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.exp (; 92 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 f32)
|
||||
@@ -6039,7 +6019,7 @@
|
||||
local.get $1
|
||||
call $~lib/math/NativeMathf.scalbn
|
||||
)
|
||||
(func $~lib/math/NativeMathf.cosh (; 94 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.cosh (; 93 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.reinterpret_f32
|
||||
@@ -6098,26 +6078,26 @@
|
||||
f32.const 1661534994731144841129758e11
|
||||
f32.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/cosh (; 95 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/cosh (; 94 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.cosh
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/exp (; 96 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/exp (; 95 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.exp
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/expm1 (; 97 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/expm1 (; 96 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.expm1
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/floor (; 98 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/floor (; 97 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.floor
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/fround (; 99 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/fround (; 98 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/math/NativeMathf.hypot (; 100 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.hypot (; 99 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 f32)
|
||||
@@ -6135,10 +6115,8 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $3
|
||||
local.set $5
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
local.set $2
|
||||
end
|
||||
local.get $3
|
||||
@@ -6224,12 +6202,12 @@
|
||||
f32.sqrt
|
||||
f32.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/hypot (; 101 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/hypot (; 100 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/math/NativeMathf.hypot
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/imul (; 102 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/imul (; 101 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
block $~lib/math/NativeMathf.imul|inlined.0 (result f32)
|
||||
f32.const 0
|
||||
local.get $0
|
||||
@@ -6267,11 +6245,11 @@
|
||||
f32.convert_i32_s
|
||||
end
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/log (; 103 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/log (; 102 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.log
|
||||
)
|
||||
(func $~lib/math/NativeMathf.log10 (; 104 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.log10 (; 103 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
(local $2 f32)
|
||||
(local $3 i32)
|
||||
@@ -6429,15 +6407,15 @@
|
||||
f32.mul
|
||||
f32.add
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/log10 (; 105 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/log10 (; 104 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.log10
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/log1p (; 106 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/log1p (; 105 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.log1p
|
||||
)
|
||||
(func $~lib/math/NativeMathf.log2 (; 107 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.log2 (; 106 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 i32)
|
||||
(local $2 f32)
|
||||
(local $3 i32)
|
||||
@@ -6587,21 +6565,21 @@
|
||||
f32.convert_i32_s
|
||||
f32.add
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/log2 (; 108 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/log2 (; 107 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.log2
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/max (; 109 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/max (; 108 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
f32.max
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/min (; 110 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/min (; 109 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
f32.min
|
||||
)
|
||||
(func $~lib/math/NativeMathf.pow (; 111 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.pow (; 110 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(local $2 f32)
|
||||
(local $3 f32)
|
||||
(local $4 i32)
|
||||
@@ -7387,12 +7365,12 @@
|
||||
f32.const 1.0000000031710769e-30
|
||||
f32.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/pow (; 112 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/pow (; 111 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
call $~lib/math/NativeMathf.pow
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/round (; 113 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/round (; 112 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.const 0.5
|
||||
f32.add
|
||||
@@ -7400,7 +7378,7 @@
|
||||
local.get $0
|
||||
f32.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/sign (; 114 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/sign (; 113 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.abs
|
||||
f32.const 0
|
||||
@@ -7413,7 +7391,7 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/math/NativeMathf.sin (; 115 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.sin (; 114 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@@ -7521,12 +7499,12 @@
|
||||
i32.const 6
|
||||
i32.shr_s
|
||||
local.tee $8
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $10
|
||||
local.get $8
|
||||
i32.const 1
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $5
|
||||
local.get $4
|
||||
i32.const 63
|
||||
@@ -7544,7 +7522,7 @@
|
||||
local.get $8
|
||||
i32.const 2
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
i64.const 96
|
||||
local.get $4
|
||||
i64.extend_i32_s
|
||||
@@ -7686,11 +7664,11 @@
|
||||
end
|
||||
local.get $0
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/sin (; 116 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/sin (; 115 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.sin
|
||||
)
|
||||
(func $~lib/math/NativeMathf.sinh (; 117 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.sinh (; 116 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f32)
|
||||
(local $2 i32)
|
||||
(local $3 f32)
|
||||
@@ -7762,15 +7740,15 @@
|
||||
f32.mul
|
||||
f32.mul
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/sinh (; 118 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/sinh (; 117 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.sinh
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/sqrt (; 119 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/sqrt (; 118 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.sqrt
|
||||
)
|
||||
(func $~lib/math/NativeMathf.tan (; 120 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.tan (; 119 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f64)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
@@ -7887,12 +7865,12 @@
|
||||
i32.const 6
|
||||
i32.shr_s
|
||||
local.tee $8
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $10
|
||||
local.get $8
|
||||
i32.const 1
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $6
|
||||
local.get $4
|
||||
i32.const 63
|
||||
@@ -7910,7 +7888,7 @@
|
||||
local.get $8
|
||||
i32.const 2
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
i64.const 96
|
||||
local.get $4
|
||||
i64.extend_i32_s
|
||||
@@ -7977,7 +7955,6 @@
|
||||
local.get $9
|
||||
select
|
||||
end
|
||||
local.set $2
|
||||
global.get $~lib/math/rempio2f_y
|
||||
local.tee $3
|
||||
local.get $3
|
||||
@@ -8017,7 +7994,6 @@
|
||||
f64.mul
|
||||
f64.add
|
||||
local.set $1
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.and
|
||||
if
|
||||
@@ -8029,11 +8005,11 @@
|
||||
local.get $1
|
||||
f32.demote_f64
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/tan (; 121 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/tan (; 120 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.tan
|
||||
)
|
||||
(func $~lib/math/NativeMathf.tanh (; 122 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $~lib/math/NativeMathf.tanh (; 121 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(local $1 f32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@@ -8107,15 +8083,15 @@
|
||||
local.get $0
|
||||
f32.copysign
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/tanh (; 123 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/tanh (; 122 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
call $~lib/math/NativeMathf.tanh
|
||||
)
|
||||
(func $../../lib/libm/assembly/libmf/trunc (; 124 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
(func $../../lib/libm/assembly/libmf/trunc (; 123 ;) (type $FUNCSIG$ff) (param $0 f32) (result f32)
|
||||
local.get $0
|
||||
f32.trunc
|
||||
)
|
||||
(func $null (; 125 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 124 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1160,14 +1160,12 @@
|
||||
i32.and
|
||||
local.tee $1
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.add
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $2
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $1
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -67,10 +67,8 @@
|
||||
(data (i32.const 8) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s")
|
||||
(data (i32.const 48) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe")
|
||||
(data (i32.const 96) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00@\00\00\00@\00\00\00 \00\00\00\04")
|
||||
(data (i32.const 128) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e")
|
||||
(data (i32.const 184) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
|
||||
(data (i32.const 232) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s")
|
||||
(data (i32.const 272) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.")
|
||||
(data (i32.const 128) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s")
|
||||
(data (i32.const 168) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.")
|
||||
(global $~lib/math/rempio2f_y (mut f64) (f64.const 0))
|
||||
(global $~lib/math/random_seeded (mut i32) (i32.const 0))
|
||||
(global $~lib/math/random_state0_64 (mut i64) (i64.const 0))
|
||||
@@ -232,7 +230,6 @@
|
||||
local.get $0
|
||||
local.get $1
|
||||
f64.sub
|
||||
local.set $0
|
||||
local.get $1
|
||||
i64.reinterpret_f64
|
||||
i64.const 52
|
||||
@@ -248,7 +245,6 @@
|
||||
i32.add
|
||||
local.set $3
|
||||
end
|
||||
local.get $0
|
||||
i32.const 0
|
||||
local.get $3
|
||||
i32.const -1075
|
||||
@@ -431,7 +427,6 @@
|
||||
local.get $0
|
||||
local.get $1
|
||||
f32.sub
|
||||
local.set $0
|
||||
local.get $1
|
||||
i32.reinterpret_f32
|
||||
i32.const 23
|
||||
@@ -446,7 +441,6 @@
|
||||
i32.add
|
||||
local.set $3
|
||||
end
|
||||
local.get $0
|
||||
i32.const 0
|
||||
local.get $3
|
||||
i32.const -150
|
||||
@@ -3389,21 +3383,7 @@
|
||||
f32.const 0
|
||||
call $std/math/check<f32>
|
||||
)
|
||||
(func $~lib/array/Array<u64>#__get (; 83 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64)
|
||||
local.get $0
|
||||
i32.const 120
|
||||
i32.load
|
||||
i32.const 3
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
i32.const 144
|
||||
i32.const 200
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
(func $~lib/array/Array<u64>#__unchecked_get (; 83 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64)
|
||||
i32.const 116
|
||||
i32.load
|
||||
local.get $0
|
||||
@@ -3517,12 +3497,12 @@
|
||||
i32.const 6
|
||||
i32.shr_s
|
||||
local.tee $7
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $9
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $5
|
||||
local.get $4
|
||||
i32.const 63
|
||||
@@ -3540,7 +3520,7 @@
|
||||
local.get $7
|
||||
i32.const 2
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
i64.const 96
|
||||
local.get $4
|
||||
i64.extend_i32_s
|
||||
@@ -4734,10 +4714,8 @@
|
||||
i64.lt_u
|
||||
if
|
||||
local.get $4
|
||||
local.set $11
|
||||
local.get $2
|
||||
local.set $4
|
||||
local.get $11
|
||||
local.set $2
|
||||
end
|
||||
local.get $4
|
||||
@@ -4919,10 +4897,8 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $3
|
||||
local.set $5
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
local.set $2
|
||||
end
|
||||
local.get $3
|
||||
@@ -8071,7 +8047,7 @@
|
||||
i64.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 248
|
||||
i32.const 144
|
||||
i32.const 1020
|
||||
i32.const 4
|
||||
call $~lib/builtins/abort
|
||||
@@ -8101,8 +8077,8 @@
|
||||
global.get $~lib/math/random_seeded
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 288
|
||||
i32.const 248
|
||||
i32.const 184
|
||||
i32.const 144
|
||||
i32.const 1029
|
||||
i32.const 24
|
||||
call $~lib/builtins/abort
|
||||
@@ -8148,8 +8124,8 @@
|
||||
global.get $~lib/math/random_seeded
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 288
|
||||
i32.const 248
|
||||
i32.const 184
|
||||
i32.const 144
|
||||
i32.const 2309
|
||||
i32.const 24
|
||||
call $~lib/builtins/abort
|
||||
@@ -8278,7 +8254,6 @@
|
||||
i64.const 63
|
||||
i64.shr_u
|
||||
i32.wrap_i64
|
||||
local.set $8
|
||||
i32.const 1
|
||||
local.get $3
|
||||
i64.const 2047
|
||||
@@ -8500,7 +8475,6 @@
|
||||
select
|
||||
select
|
||||
local.set $0
|
||||
local.get $8
|
||||
if
|
||||
local.get $0
|
||||
f64.neg
|
||||
@@ -8543,7 +8517,6 @@
|
||||
local.get $2
|
||||
i32.const 31
|
||||
i32.shr_u
|
||||
local.set $8
|
||||
local.get $3
|
||||
i32.const 255
|
||||
i32.eq
|
||||
@@ -8667,7 +8640,6 @@
|
||||
br $continue|1
|
||||
end
|
||||
end
|
||||
block (result i32)
|
||||
local.get $2
|
||||
local.get $6
|
||||
i32.ge_u
|
||||
@@ -8683,7 +8655,6 @@
|
||||
end
|
||||
local.get $2
|
||||
i32.eqz
|
||||
end
|
||||
if
|
||||
i32.const -30
|
||||
local.set $3
|
||||
@@ -8757,7 +8728,6 @@
|
||||
select
|
||||
select
|
||||
local.set $0
|
||||
local.get $8
|
||||
if
|
||||
local.get $0
|
||||
f32.neg
|
||||
@@ -8881,12 +8851,12 @@
|
||||
i32.const 6
|
||||
i32.shr_s
|
||||
local.tee $8
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $10
|
||||
local.get $8
|
||||
i32.const 1
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $5
|
||||
local.get $4
|
||||
i32.const 63
|
||||
@@ -8904,7 +8874,7 @@
|
||||
local.get $8
|
||||
i32.const 2
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
i64.const 96
|
||||
local.get $4
|
||||
i64.extend_i32_s
|
||||
@@ -9365,12 +9335,12 @@
|
||||
i32.const 6
|
||||
i32.shr_s
|
||||
local.tee $8
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $10
|
||||
local.get $8
|
||||
i32.const 1
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
local.set $6
|
||||
local.get $4
|
||||
i32.const 63
|
||||
@@ -9388,7 +9358,7 @@
|
||||
local.get $8
|
||||
i32.const 2
|
||||
i32.add
|
||||
call $~lib/array/Array<u64>#__get
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
i64.const 96
|
||||
local.get $4
|
||||
i64.extend_i32_s
|
||||
@@ -9455,7 +9425,6 @@
|
||||
local.get $9
|
||||
select
|
||||
end
|
||||
local.set $2
|
||||
global.get $~lib/math/rempio2f_y
|
||||
local.tee $3
|
||||
local.get $3
|
||||
@@ -9495,7 +9464,6 @@
|
||||
f64.mul
|
||||
f64.add
|
||||
local.set $1
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.and
|
||||
if
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -204,7 +204,6 @@
|
||||
i64.sub
|
||||
local.set $4
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -507,7 +506,6 @@
|
||||
i32.sub
|
||||
local.set $4
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
@@ -110,7 +110,6 @@
|
||||
)
|
||||
(func $std/new/AClass#constructor (; 2 ;) (type $FUNCSIG$iif) (param $0 i32) (param $1 f32) (result i32)
|
||||
local.get $0
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
@@ -127,7 +126,6 @@
|
||||
f32.const 2
|
||||
f32.store offset=4
|
||||
local.get $0
|
||||
end
|
||||
i32.load
|
||||
i32.const 1
|
||||
i32.add
|
||||
|
@@ -176,7 +176,6 @@
|
||||
i32.add
|
||||
local.set $7
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -201,7 +200,6 @@
|
||||
local.get $1
|
||||
i32.eq
|
||||
if
|
||||
block
|
||||
i32.const 1
|
||||
local.set $2
|
||||
local.get $0
|
||||
@@ -210,9 +208,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $2
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
i32.const 0
|
||||
@@ -225,7 +220,6 @@
|
||||
i32.eq
|
||||
end
|
||||
if
|
||||
block
|
||||
i32.const 0
|
||||
local.set $2
|
||||
local.get $0
|
||||
@@ -234,9 +228,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $2
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/string/String#get:length
|
||||
@@ -246,7 +237,6 @@
|
||||
call $~lib/string/String#get:length
|
||||
i32.ne
|
||||
if
|
||||
block
|
||||
i32.const 0
|
||||
local.set $2
|
||||
local.get $0
|
||||
@@ -255,9 +245,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $2
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
i32.const 0
|
||||
@@ -355,7 +342,6 @@
|
||||
global.set $~lib/rt/stub/startOffset
|
||||
global.get $~lib/rt/stub/startOffset
|
||||
global.set $~lib/rt/stub/offset
|
||||
block (result i32)
|
||||
i32.const 8
|
||||
i32.const 3
|
||||
call $~lib/rt/stub/__alloc
|
||||
@@ -368,9 +354,7 @@
|
||||
i32.const 24
|
||||
i32.store offset=4
|
||||
local.get $0
|
||||
end
|
||||
call $std/object-literal/bar
|
||||
block (result i32)
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
call $~lib/rt/stub/__alloc
|
||||
@@ -380,9 +364,7 @@
|
||||
i32.const 2
|
||||
i32.store
|
||||
local.get $1
|
||||
end
|
||||
call $std/object-literal/bar2
|
||||
block (result i32)
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
call $~lib/rt/stub/__alloc
|
||||
@@ -392,7 +374,6 @@
|
||||
i32.const 3
|
||||
i32.store
|
||||
local.get $2
|
||||
end
|
||||
call $std/object-literal/Foo2#test
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
|
@@ -656,7 +656,6 @@
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
local.get $8
|
||||
i32.const 1072693248
|
||||
@@ -2729,7 +2728,6 @@
|
||||
i32.const 2
|
||||
call $std/operator-overloading/Tester#constructor
|
||||
global.set $std/operator-overloading/shl
|
||||
block (result i32)
|
||||
global.get $std/operator-overloading/shl
|
||||
i32.const 3
|
||||
call $std/operator-overloading/Tester.shl
|
||||
@@ -2746,7 +2744,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $12
|
||||
end
|
||||
global.set $std/operator-overloading/sres
|
||||
global.get $std/operator-overloading/sres
|
||||
i32.load
|
||||
@@ -2922,7 +2919,6 @@
|
||||
i32.const 1
|
||||
call $std/operator-overloading/Tester#constructor
|
||||
global.set $std/operator-overloading/incdec
|
||||
block (result i32)
|
||||
global.get $std/operator-overloading/incdec
|
||||
call $std/operator-overloading/Tester#inc
|
||||
local.tee $15
|
||||
@@ -2938,7 +2934,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $16
|
||||
end
|
||||
global.set $std/operator-overloading/incdec
|
||||
global.get $std/operator-overloading/incdec
|
||||
i32.load
|
||||
@@ -2961,7 +2956,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
global.get $std/operator-overloading/incdec
|
||||
call $std/operator-overloading/Tester#dec
|
||||
local.tee $16
|
||||
@@ -2977,7 +2971,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $17
|
||||
end
|
||||
global.set $std/operator-overloading/incdec
|
||||
global.get $std/operator-overloading/incdec
|
||||
i32.load
|
||||
@@ -3000,7 +2993,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.const 1
|
||||
@@ -3009,10 +3001,7 @@
|
||||
global.get $std/operator-overloading/incdec
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $18
|
||||
end
|
||||
global.set $std/operator-overloading/incdec
|
||||
block (result i32)
|
||||
block (result i32)
|
||||
global.get $std/operator-overloading/incdec
|
||||
local.tee $18
|
||||
call $std/operator-overloading/Tester#postInc
|
||||
@@ -3029,10 +3018,8 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $19
|
||||
end
|
||||
global.set $std/operator-overloading/incdec
|
||||
local.get $18
|
||||
end
|
||||
call $~lib/rt/stub/__retain
|
||||
global.set $std/operator-overloading/tmp
|
||||
global.get $std/operator-overloading/tmp
|
||||
@@ -3077,9 +3064,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block (result i32)
|
||||
block (result i32)
|
||||
block (result i32)
|
||||
global.get $std/operator-overloading/incdec
|
||||
local.tee $18
|
||||
call $std/operator-overloading/Tester#postDec
|
||||
@@ -3096,10 +3080,8 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $20
|
||||
end
|
||||
global.set $std/operator-overloading/incdec
|
||||
local.get $18
|
||||
end
|
||||
local.tee $21
|
||||
global.get $std/operator-overloading/tmp
|
||||
local.tee $18
|
||||
@@ -3112,7 +3094,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $21
|
||||
end
|
||||
global.set $std/operator-overloading/tmp
|
||||
global.get $std/operator-overloading/tmp
|
||||
i32.load
|
||||
@@ -3161,7 +3142,6 @@
|
||||
i32.const 2
|
||||
call $std/operator-overloading/TesterInlineStatic#constructor
|
||||
global.set $std/operator-overloading/ais1
|
||||
block (result i32)
|
||||
global.get $std/operator-overloading/ais1
|
||||
call $std/operator-overloading/TesterInlineStatic.postInc
|
||||
local.tee $21
|
||||
@@ -3177,7 +3157,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $20
|
||||
end
|
||||
global.set $std/operator-overloading/ais1
|
||||
i32.const 0
|
||||
i32.const 2
|
||||
@@ -3216,7 +3195,6 @@
|
||||
i32.const 2
|
||||
call $std/operator-overloading/TesterInlineInstance#constructor
|
||||
global.set $std/operator-overloading/aii1
|
||||
block (result i32)
|
||||
global.get $std/operator-overloading/aii1
|
||||
call $std/operator-overloading/TesterInlineInstance#postInc
|
||||
local.tee $18
|
||||
@@ -3232,7 +3210,6 @@
|
||||
call $~lib/rt/stub/__release
|
||||
end
|
||||
local.get $22
|
||||
end
|
||||
global.set $std/operator-overloading/aii1
|
||||
i32.const 0
|
||||
i32.const 2
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1157,14 +1157,12 @@
|
||||
i32.and
|
||||
local.tee $1
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.add
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $2
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $1
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -399,14 +399,12 @@
|
||||
i32.and
|
||||
local.tee $1
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.add
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $2
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $1
|
||||
|
@@ -57,20 +57,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 320
|
||||
i32.const 376
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -184,22 +176,18 @@
|
||||
end
|
||||
i32.eqz
|
||||
br_if $break|0
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -207,7 +195,6 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -265,7 +252,6 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -332,22 +318,18 @@
|
||||
i32.const 1
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -379,62 +361,49 @@
|
||||
br_if $case2|2
|
||||
br $break|2
|
||||
end
|
||||
block
|
||||
local.get $1
|
||||
i32.load
|
||||
local.set $3
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -523,53 +492,40 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|3
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
br $break|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
local.get $1
|
||||
i32.load
|
||||
local.set $3
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -658,35 +614,26 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|4
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
br $break|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
local.get $1
|
||||
i32.load
|
||||
local.set $3
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $2
|
||||
@@ -775,306 +722,238 @@
|
||||
i32.sub
|
||||
local.set $2
|
||||
br $continue|5
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
br $break|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
local.get $2
|
||||
i32.const 16
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1082,148 +961,116 @@
|
||||
i32.const 8
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1231,76 +1078,60 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1308,40 +1139,32 @@
|
||||
i32.const 2
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1349,22 +1172,18 @@
|
||||
i32.const 1
|
||||
i32.and
|
||||
if
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
end
|
||||
@@ -1436,26 +1255,21 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $3
|
||||
block (result i32)
|
||||
local.get $5
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $4
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1483,7 +1297,6 @@
|
||||
i32.add
|
||||
local.set $4
|
||||
br $continue|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1493,22 +1306,18 @@
|
||||
local.get $3
|
||||
i32.eqz
|
||||
br_if $break|2
|
||||
block (result i32)
|
||||
local.get $5
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.get $6
|
||||
end
|
||||
block (result i32)
|
||||
local.get $4
|
||||
local.tee $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.get $6
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
local.get $3
|
||||
@@ -1516,7 +1325,6 @@
|
||||
i32.sub
|
||||
local.set $3
|
||||
br $continue|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1555,7 +1363,6 @@
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
br $continue|3
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1579,7 +1386,6 @@
|
||||
i64.load
|
||||
i64.store
|
||||
br $continue|4
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1601,7 +1407,6 @@
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
br $continue|5
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1900,7 +1705,6 @@
|
||||
i32.add
|
||||
local.set $5
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -1929,20 +1733,12 @@
|
||||
i32.shr_u
|
||||
i32.gt_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 424
|
||||
i32.const 376
|
||||
i32.const 14
|
||||
i32.const 47
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
i32.load
|
||||
@@ -2037,20 +1833,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 320
|
||||
i32.const 376
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -2113,20 +1901,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 320
|
||||
i32.const 376
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
@@ -2189,20 +1969,12 @@
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
block
|
||||
block
|
||||
i32.const 320
|
||||
i32.const 376
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
local.get $1
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,6 @@
|
||||
(type $FUNCSIG$iijijiji (func (param i32 i64 i32 i64 i32 i64 i32) (result i32)))
|
||||
(type $FUNCSIG$i (func (result i32)))
|
||||
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
|
||||
(type $FUNCSIG$ji (func (param i32) (result i64)))
|
||||
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
|
||||
(import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32)))
|
||||
(import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32)))
|
||||
@@ -1689,10 +1688,8 @@
|
||||
else
|
||||
i32.const 1
|
||||
end
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/string/String.fromCharCode (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -1834,12 +1831,10 @@
|
||||
local.get $2
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
local.set $2
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
return
|
||||
end
|
||||
local.get $0
|
||||
@@ -1948,10 +1943,8 @@
|
||||
local.get $3
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
local.set $0
|
||||
i32.const 528
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/string/String#endsWith (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
@@ -1996,10 +1989,8 @@
|
||||
local.get $1
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.eqz
|
||||
local.set $0
|
||||
i32.const 576
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/string/String#indexOf (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
@@ -2144,10 +2135,8 @@
|
||||
if
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $0
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
return
|
||||
end
|
||||
local.get $3
|
||||
@@ -2197,10 +2186,8 @@
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $0
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/string/String#padEnd (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
@@ -2245,10 +2232,8 @@
|
||||
if
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $0
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
return
|
||||
end
|
||||
local.get $5
|
||||
@@ -2300,10 +2285,8 @@
|
||||
end
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $0
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/string/String#lastIndexOf (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
@@ -2318,10 +2301,8 @@
|
||||
if
|
||||
local.get $0
|
||||
call $~lib/string/String#get:length
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
return
|
||||
end
|
||||
local.get $0
|
||||
@@ -2508,7 +2489,6 @@
|
||||
end
|
||||
f64.const 1
|
||||
end
|
||||
local.set $6
|
||||
local.get $3
|
||||
i32.const 2
|
||||
i32.gt_s
|
||||
@@ -2668,7 +2648,6 @@
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $6
|
||||
local.get $5
|
||||
f64.mul
|
||||
return
|
||||
@@ -2684,10 +2663,8 @@
|
||||
drop
|
||||
local.get $0
|
||||
call $~lib/util/string/strtol<f64>
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/util/string/strtod (; 42 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
|
||||
(local $1 i32)
|
||||
@@ -2769,7 +2746,6 @@
|
||||
end
|
||||
f64.const 1
|
||||
end
|
||||
local.set $6
|
||||
loop $continue|1
|
||||
block $break|1
|
||||
local.get $3
|
||||
@@ -2872,7 +2848,6 @@
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $6
|
||||
local.get $4
|
||||
f64.mul
|
||||
return
|
||||
@@ -2888,10 +2863,8 @@
|
||||
drop
|
||||
local.get $0
|
||||
call $~lib/util/string/strtod
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/string/String#concat (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -2932,10 +2905,8 @@
|
||||
if
|
||||
i32.const 120
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
return
|
||||
end
|
||||
local.get $2
|
||||
@@ -2970,12 +2941,10 @@
|
||||
select
|
||||
local.get $1
|
||||
call $~lib/string/String#concat
|
||||
local.set $2
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
)
|
||||
(func $~lib/string/String.__ne (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -2989,12 +2958,10 @@
|
||||
local.get $1
|
||||
call $~lib/string/String.__eq
|
||||
i32.eqz
|
||||
local.set $2
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
)
|
||||
(func $~lib/string/String.__gt (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -3053,12 +3020,10 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.const 0
|
||||
i32.gt_s
|
||||
local.set $2
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
return
|
||||
end
|
||||
local.get $0
|
||||
@@ -3123,12 +3088,10 @@
|
||||
call $~lib/util/string/compareImpl
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.set $2
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
return
|
||||
end
|
||||
local.get $0
|
||||
@@ -3149,12 +3112,10 @@
|
||||
local.get $1
|
||||
call $~lib/string/String.__lt
|
||||
i32.eqz
|
||||
local.set $2
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $2
|
||||
)
|
||||
(func $~lib/string/String.__lte (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
@@ -3168,12 +3129,10 @@
|
||||
local.get $0
|
||||
call $~lib/string/String.__gt
|
||||
i32.eqz
|
||||
local.set $1
|
||||
i32.const 120
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/string/String#repeat (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -3570,14 +3529,12 @@
|
||||
i32.and
|
||||
local.tee $1
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.add
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $2
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $1
|
||||
@@ -4008,10 +3965,8 @@
|
||||
call $~lib/rt/__allocArray
|
||||
call $~lib/rt/pure/__retain
|
||||
end
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
return
|
||||
end
|
||||
local.get $1
|
||||
@@ -4330,7 +4285,6 @@
|
||||
call $~lib/rt/pure/__retain
|
||||
return
|
||||
end
|
||||
block (result i32)
|
||||
local.get $0
|
||||
i64.const 0
|
||||
i64.lt_s
|
||||
@@ -4344,7 +4298,6 @@
|
||||
local.get $0
|
||||
i64.const 4294967295
|
||||
i64.le_u
|
||||
end
|
||||
if
|
||||
local.get $0
|
||||
i32.wrap_i64
|
||||
@@ -4385,53 +4338,7 @@
|
||||
local.get $3
|
||||
call $~lib/rt/pure/__retain
|
||||
)
|
||||
(func $~lib/array/Array<u64>#__get (; 69 ;) (type $FUNCSIG$ji) (param $0 i32) (result i64)
|
||||
local.get $0
|
||||
i32.const 4576
|
||||
i32.load
|
||||
i32.const 3
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
i32.const 232
|
||||
i32.const 2304
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 4572
|
||||
i32.load
|
||||
local.get $0
|
||||
i32.const 3
|
||||
i32.shl
|
||||
i32.add
|
||||
i64.load
|
||||
)
|
||||
(func $~lib/array/Array<i16>#__get (; 70 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
local.get $0
|
||||
i32.const 4800
|
||||
i32.load
|
||||
i32.const 1
|
||||
i32.shr_u
|
||||
i32.ge_u
|
||||
if
|
||||
i32.const 232
|
||||
i32.const 2304
|
||||
i32.const 109
|
||||
i32.const 61
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
i32.const 4796
|
||||
i32.load
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.shl
|
||||
i32.add
|
||||
i32.load16_s
|
||||
)
|
||||
(func $~lib/util/number/genDigits (; 71 ;) (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 (; 69 ;) (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)
|
||||
@@ -4830,7 +4737,7 @@
|
||||
local.get $6
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/prettify (; 72 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(func $~lib/util/number/prettify (; 70 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@@ -4985,7 +4892,6 @@
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.tee $0
|
||||
block (result i32)
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@@ -5000,7 +4906,6 @@
|
||||
local.set $2
|
||||
end
|
||||
local.get $2
|
||||
end
|
||||
local.get $2
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
@@ -5043,7 +4948,6 @@
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.tee $2
|
||||
block (result i32)
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@@ -5058,7 +4962,6 @@
|
||||
local.set $0
|
||||
end
|
||||
local.get $0
|
||||
end
|
||||
local.get $0
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
@@ -5081,37 +4984,30 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/util/number/dtoa_core (; 73 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa_core (; 71 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(local $2 i64)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
(local $5 i32)
|
||||
(local $5 i64)
|
||||
(local $6 i64)
|
||||
(local $7 i64)
|
||||
(local $7 i32)
|
||||
(local $8 i64)
|
||||
(local $9 i32)
|
||||
(local $9 i64)
|
||||
(local $10 i32)
|
||||
(local $11 i64)
|
||||
(local $12 i64)
|
||||
(local $13 i64)
|
||||
(local $14 i64)
|
||||
(local $15 i64)
|
||||
(local $16 i64)
|
||||
(local $17 i64)
|
||||
(local $18 i64)
|
||||
(local $11 i32)
|
||||
local.get $1
|
||||
f64.const 0
|
||||
f64.lt
|
||||
local.tee $9
|
||||
if (result f64)
|
||||
local.tee $10
|
||||
if
|
||||
local.get $0
|
||||
i32.const 45
|
||||
i32.store16
|
||||
local.get $1
|
||||
f64.neg
|
||||
else
|
||||
local.get $1
|
||||
local.set $1
|
||||
end
|
||||
local.get $1
|
||||
i64.reinterpret_f64
|
||||
local.tee $2
|
||||
i64.const 9218868437227405312
|
||||
@@ -5119,57 +5015,57 @@
|
||||
i64.const 52
|
||||
i64.shr_u
|
||||
i32.wrap_i64
|
||||
local.set $5
|
||||
local.tee $11
|
||||
i32.const 0
|
||||
i32.ne
|
||||
local.set $7
|
||||
local.get $2
|
||||
i64.const 4503599627370495
|
||||
i64.and
|
||||
local.get $5
|
||||
i32.const 0
|
||||
i32.ne
|
||||
local.tee $10
|
||||
local.get $7
|
||||
i64.extend_i32_u
|
||||
i64.const 52
|
||||
i64.shl
|
||||
i64.add
|
||||
local.tee $2
|
||||
local.tee $5
|
||||
i64.const 1
|
||||
i64.shl
|
||||
i64.const 1
|
||||
i64.add
|
||||
local.tee $6
|
||||
local.tee $2
|
||||
i64.clz
|
||||
i32.wrap_i64
|
||||
local.set $3
|
||||
local.get $6
|
||||
local.get $2
|
||||
local.get $3
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
global.set $~lib/util/number/_frc_plus
|
||||
local.get $5
|
||||
local.get $11
|
||||
i32.const 1
|
||||
local.get $10
|
||||
local.get $7
|
||||
select
|
||||
i32.const 1075
|
||||
i32.sub
|
||||
local.tee $5
|
||||
local.tee $7
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.get $3
|
||||
i32.sub
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.get $2
|
||||
local.get $5
|
||||
local.get $5
|
||||
i64.const 4503599627370496
|
||||
i64.eq
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $10
|
||||
local.tee $11
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
i64.const 1
|
||||
i64.sub
|
||||
local.get $5
|
||||
local.get $10
|
||||
local.get $7
|
||||
local.get $11
|
||||
i32.sub
|
||||
local.get $3
|
||||
i32.sub
|
||||
@@ -5204,69 +5100,50 @@
|
||||
i32.shl
|
||||
i32.sub
|
||||
global.set $~lib/util/number/_K
|
||||
i32.const 4572
|
||||
i32.load
|
||||
local.get $3
|
||||
call $~lib/array/Array<u64>#__get
|
||||
i32.const 3
|
||||
i32.shl
|
||||
i32.add
|
||||
i64.load
|
||||
global.set $~lib/util/number/_frc_pow
|
||||
i32.const 4796
|
||||
i32.load
|
||||
local.get $3
|
||||
call $~lib/array/Array<i16>#__get
|
||||
i32.const 1
|
||||
i32.shl
|
||||
i32.add
|
||||
i32.load16_s
|
||||
global.set $~lib/util/number/_exp_pow
|
||||
local.get $2
|
||||
local.get $2
|
||||
i64.clz
|
||||
i32.wrap_i64
|
||||
local.tee $3
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
global.get $~lib/util/number/_frc_pow
|
||||
local.tee $6
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $11
|
||||
global.get $~lib/util/number/_frc_pow
|
||||
local.tee $2
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $13
|
||||
i64.mul
|
||||
local.set $14
|
||||
local.set $2
|
||||
global.get $~lib/util/number/_frc_plus
|
||||
local.tee $7
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $4
|
||||
local.get $2
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $8
|
||||
i64.mul
|
||||
local.set $12
|
||||
global.get $~lib/util/number/_frc_minus
|
||||
local.tee $15
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $16
|
||||
local.get $2
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $17
|
||||
i64.mul
|
||||
local.set $18
|
||||
local.get $4
|
||||
local.get $2
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $4
|
||||
i64.mul
|
||||
local.get $7
|
||||
local.get $6
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $7
|
||||
local.get $8
|
||||
local.tee $6
|
||||
i64.mul
|
||||
local.get $8
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $8
|
||||
local.get $2
|
||||
i64.mul
|
||||
local.get $2
|
||||
local.get $4
|
||||
i64.mul
|
||||
local.get $12
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.tee $8
|
||||
local.tee $4
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@@ -5274,34 +5151,37 @@
|
||||
i64.add
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $4
|
||||
local.get $7
|
||||
i64.mul
|
||||
local.get $6
|
||||
local.get $8
|
||||
i64.mul
|
||||
local.get $4
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
i64.add
|
||||
i64.const 1
|
||||
i64.sub
|
||||
local.tee $7
|
||||
local.get $2
|
||||
local.tee $8
|
||||
local.get $6
|
||||
global.get $~lib/util/number/_frc_minus
|
||||
local.tee $4
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $9
|
||||
i64.mul
|
||||
local.get $4
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $4
|
||||
local.get $16
|
||||
local.get $2
|
||||
i64.mul
|
||||
local.get $15
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $8
|
||||
local.get $17
|
||||
local.get $2
|
||||
local.get $9
|
||||
i64.mul
|
||||
local.get $18
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.tee $12
|
||||
local.tee $9
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@@ -5310,9 +5190,9 @@
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $4
|
||||
local.get $8
|
||||
local.get $6
|
||||
i64.mul
|
||||
local.get $12
|
||||
local.get $9
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
@@ -5321,29 +5201,38 @@
|
||||
i64.add
|
||||
i64.sub
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.get $0
|
||||
local.get $2
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $2
|
||||
local.get $11
|
||||
i64.mul
|
||||
local.get $6
|
||||
local.get $5
|
||||
local.get $5
|
||||
i64.clz
|
||||
i32.wrap_i64
|
||||
local.tee $0
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
local.tee $5
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $9
|
||||
i64.mul
|
||||
local.get $5
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $6
|
||||
local.get $13
|
||||
local.tee $5
|
||||
local.get $2
|
||||
i64.mul
|
||||
local.get $2
|
||||
local.get $9
|
||||
i64.mul
|
||||
local.get $14
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.tee $11
|
||||
local.tee $2
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@@ -5351,39 +5240,39 @@
|
||||
i64.add
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $2
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.mul
|
||||
local.get $11
|
||||
local.get $2
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
i64.add
|
||||
global.get $~lib/util/number/_exp_pow
|
||||
local.tee $0
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.tee $3
|
||||
local.get $7
|
||||
local.get $0
|
||||
i32.sub
|
||||
i32.add
|
||||
i32.const -64
|
||||
i32.sub
|
||||
local.get $7
|
||||
local.get $8
|
||||
global.get $~lib/util/number/_exp
|
||||
local.get $0
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const -64
|
||||
i32.sub
|
||||
local.get $4
|
||||
local.get $9
|
||||
local.get $10
|
||||
call $~lib/util/number/genDigits
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.sub
|
||||
global.get $~lib/util/number/_K
|
||||
call $~lib/util/number/prettify
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.add
|
||||
)
|
||||
(func $~lib/string/String#substring (; 74 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(func $~lib/string/String#substring (; 72 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@@ -5470,7 +5359,7 @@
|
||||
local.get $1
|
||||
call $~lib/rt/pure/__retain
|
||||
)
|
||||
(func $~lib/util/number/dtoa (; 75 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(func $~lib/util/number/dtoa (; 73 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
local.get $0
|
||||
@@ -5521,12 +5410,10 @@
|
||||
local.get $1
|
||||
local.get $2
|
||||
call $~lib/string/String#substring
|
||||
local.set $2
|
||||
local.get $1
|
||||
call $~lib/rt/tlsf/__free
|
||||
local.get $2
|
||||
)
|
||||
(func $start:std/string (; 76 ;) (type $FUNCSIG$v)
|
||||
(func $start:std/string (; 74 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
@@ -5849,20 +5736,16 @@
|
||||
unreachable
|
||||
end
|
||||
global.get $std/string/str
|
||||
local.set $0
|
||||
i32.const 608
|
||||
call $~lib/rt/pure/__retain
|
||||
drop
|
||||
local.get $0
|
||||
i32.const 608
|
||||
i32.const 0
|
||||
call $~lib/string/String#indexOf
|
||||
i32.const -1
|
||||
i32.ne
|
||||
local.set $0
|
||||
i32.const 608
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
@@ -7401,10 +7284,8 @@
|
||||
i32.const 2464
|
||||
i32.const 920
|
||||
call $~lib/string/String#split
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
local.tee $0
|
||||
i32.load offset=12
|
||||
i32.const 3
|
||||
@@ -9000,11 +8881,11 @@
|
||||
local.get $128
|
||||
call $~lib/rt/pure/__release
|
||||
)
|
||||
(func $std/string/getString (; 77 ;) (type $FUNCSIG$i) (result i32)
|
||||
(func $std/string/getString (; 75 ;) (type $FUNCSIG$i) (result i32)
|
||||
global.get $std/string/str
|
||||
call $~lib/rt/pure/__retain
|
||||
)
|
||||
(func $start (; 78 ;) (type $FUNCSIG$v)
|
||||
(func $start (; 76 ;) (type $FUNCSIG$v)
|
||||
global.get $~lib/started
|
||||
if
|
||||
return
|
||||
@@ -9014,7 +8895,7 @@
|
||||
end
|
||||
call $start:std/string
|
||||
)
|
||||
(func $~lib/rt/pure/markGray (; 79 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/rt/pure/markGray (; 77 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
@@ -9038,7 +8919,7 @@
|
||||
call $~lib/rt/__visit_members
|
||||
end
|
||||
)
|
||||
(func $~lib/rt/pure/scanBlack (; 80 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/rt/pure/scanBlack (; 78 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
local.get $0
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
@@ -9051,7 +8932,7 @@
|
||||
i32.const 4
|
||||
call $~lib/rt/__visit_members
|
||||
)
|
||||
(func $~lib/rt/pure/scan (; 81 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/rt/pure/scan (; 79 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
@@ -9085,7 +8966,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/rt/pure/collectWhite (; 82 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(func $~lib/rt/pure/collectWhite (; 80 ;) (type $FUNCSIG$vi) (param $0 i32)
|
||||
(local $1 i32)
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
@@ -9118,7 +8999,7 @@
|
||||
call $~lib/rt/tlsf/freeBlock
|
||||
end
|
||||
)
|
||||
(func $~lib/rt/pure/__visit (; 83 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/rt/pure/__visit (; 81 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
local.get $0
|
||||
i32.const 6708
|
||||
i32.lt_u
|
||||
@@ -9228,7 +9109,7 @@
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 84 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
local.get $0
|
||||
@@ -9261,7 +9142,7 @@
|
||||
end
|
||||
end
|
||||
)
|
||||
(func $~lib/rt/__visit_members (; 85 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
(func $~lib/rt/__visit_members (; 83 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
|
||||
block $block$4$break
|
||||
block $switch$1$default
|
||||
block $switch$1$case$5
|
||||
@@ -9290,7 +9171,7 @@
|
||||
call $~lib/rt/pure/__visit
|
||||
end
|
||||
)
|
||||
(func $null (; 86 ;) (type $FUNCSIG$v)
|
||||
(func $null (; 84 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -208,14 +208,12 @@
|
||||
i32.and
|
||||
local.tee $1
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.add
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.store
|
||||
local.get $2
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $1
|
||||
@@ -497,7 +495,6 @@
|
||||
i32.add
|
||||
local.set $2
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -2305,7 +2305,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $4
|
||||
i32.load
|
||||
local.tee $2
|
||||
@@ -2320,7 +2319,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -2431,7 +2429,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $4
|
||||
i32.load
|
||||
local.tee $2
|
||||
@@ -2446,7 +2443,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -2544,7 +2540,6 @@
|
||||
i32.add
|
||||
local.set $3
|
||||
br $loop|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -2621,7 +2616,6 @@
|
||||
i32.and
|
||||
local.tee $2
|
||||
i32.sub
|
||||
local.set $3
|
||||
local.get $0
|
||||
local.get $2
|
||||
i32.add
|
||||
@@ -2633,7 +2627,6 @@
|
||||
i32.mul
|
||||
local.tee $0
|
||||
i32.store
|
||||
local.get $3
|
||||
i32.const -4
|
||||
i32.and
|
||||
local.tee $3
|
||||
@@ -3486,7 +3479,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $1
|
||||
i32.load
|
||||
local.tee $6
|
||||
@@ -3501,7 +3493,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $2
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -9114,10 +9105,8 @@
|
||||
i32.const 2
|
||||
i32.rem_s
|
||||
i32.eqz
|
||||
local.set $0
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/typedarray/Int8Array#every (; 204 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -9383,10 +9372,8 @@
|
||||
i32.const 2
|
||||
i32.rem_s
|
||||
i32.eqz
|
||||
local.set $0
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/typedarray/Int16Array#every (; 211 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -9594,10 +9581,8 @@
|
||||
i32.const 2
|
||||
i32.rem_s
|
||||
i32.eqz
|
||||
local.set $0
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $0
|
||||
)
|
||||
(func $~lib/typedarray/Int32Array#every (; 216 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -9754,10 +9739,8 @@
|
||||
i64.rem_s
|
||||
i64.const 0
|
||||
i64.eq
|
||||
local.set $1
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Int64Array#every (; 220 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -9867,10 +9850,8 @@
|
||||
i64.rem_u
|
||||
i64.const 0
|
||||
i64.eq
|
||||
local.set $1
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 223 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
@@ -10076,10 +10057,8 @@
|
||||
call $~lib/math/NativeMathf.mod
|
||||
f32.const 0
|
||||
f32.eq
|
||||
local.set $1
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Float32Array#every (; 226 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -10344,10 +10323,8 @@
|
||||
call $~lib/math/NativeMath.mod
|
||||
f64.const 0
|
||||
f64.eq
|
||||
local.set $1
|
||||
local.get $2
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $1
|
||||
)
|
||||
(func $~lib/typedarray/Float64Array#every (; 230 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
@@ -11940,7 +11917,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $0
|
||||
local.set $5
|
||||
local.get $2
|
||||
i32.load
|
||||
local.tee $1
|
||||
@@ -11955,7 +11931,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $1
|
||||
i32.store
|
||||
local.get $0
|
||||
@@ -12168,7 +12143,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $0
|
||||
local.set $5
|
||||
local.get $2
|
||||
i32.load
|
||||
local.tee $1
|
||||
@@ -12183,7 +12157,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $1
|
||||
i32.store
|
||||
local.get $0
|
||||
@@ -12454,7 +12427,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $1
|
||||
i32.load
|
||||
local.tee $6
|
||||
@@ -12469,7 +12441,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -12750,7 +12721,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $1
|
||||
i32.load
|
||||
local.tee $6
|
||||
@@ -12765,7 +12735,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -13196,7 +13165,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $1
|
||||
i32.load
|
||||
local.tee $6
|
||||
@@ -13211,7 +13179,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -13480,7 +13447,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $1
|
||||
i32.load
|
||||
local.tee $6
|
||||
@@ -13495,7 +13461,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -13710,7 +13675,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $1
|
||||
i32.load
|
||||
local.tee $6
|
||||
@@ -13725,7 +13689,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.store
|
||||
local.get $1
|
||||
@@ -13997,7 +13960,6 @@
|
||||
call $~lib/rt/tlsf/__alloc
|
||||
call $~lib/rt/pure/__retain
|
||||
local.tee $1
|
||||
local.set $5
|
||||
local.get $1
|
||||
i32.load
|
||||
local.tee $6
|
||||
@@ -14012,7 +13974,6 @@
|
||||
local.get $6
|
||||
call $~lib/rt/pure/__release
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.store
|
||||
local.get $1
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,6 @@
|
||||
(start $start)
|
||||
(func $switch/doSwitch (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
block $break|0
|
||||
block $case4|0
|
||||
block $case3|0
|
||||
block $case2|0
|
||||
@@ -47,10 +46,6 @@
|
||||
end
|
||||
i32.const 23
|
||||
return
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
unreachable
|
||||
)
|
||||
(func $switch/doSwitchDefaultOmitted (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
@@ -96,11 +91,7 @@
|
||||
br_if $case0|0
|
||||
br $case1|0
|
||||
end
|
||||
block
|
||||
br $break|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
i32.const 2
|
||||
return
|
||||
@@ -123,17 +114,12 @@
|
||||
i32.const 1
|
||||
return
|
||||
end
|
||||
block
|
||||
br $break|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
i32.const 2
|
||||
)
|
||||
(func $switch/doSwitchFallThroughCase (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
block $break|0
|
||||
block $case1|0
|
||||
block $case0|0
|
||||
local.get $0
|
||||
@@ -147,12 +133,10 @@
|
||||
i32.const 2
|
||||
return
|
||||
end
|
||||
end
|
||||
i32.const 1
|
||||
)
|
||||
(func $switch/doSwitchFallThroughDefault (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i32)
|
||||
block $break|0
|
||||
block $case1|0
|
||||
block $case0|0
|
||||
local.get $0
|
||||
@@ -166,7 +150,6 @@
|
||||
i32.const 1
|
||||
return
|
||||
end
|
||||
end
|
||||
i32.const 2
|
||||
)
|
||||
(func $switch/doSwitchEmpty (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
|
@@ -86,39 +86,31 @@
|
||||
i32.const -1
|
||||
i32.xor
|
||||
global.set $unary/i
|
||||
block (result i32)
|
||||
global.get $unary/i
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $unary/i
|
||||
global.get $unary/i
|
||||
end
|
||||
global.set $unary/i
|
||||
block (result i32)
|
||||
global.get $unary/i
|
||||
i32.const 1
|
||||
i32.sub
|
||||
global.set $unary/i
|
||||
global.get $unary/i
|
||||
end
|
||||
global.set $unary/i
|
||||
block (result i32)
|
||||
global.get $unary/i
|
||||
local.tee $0
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $unary/i
|
||||
local.get $0
|
||||
end
|
||||
global.set $unary/i
|
||||
block (result i32)
|
||||
global.get $unary/i
|
||||
local.tee $0
|
||||
i32.const 1
|
||||
i32.sub
|
||||
global.set $unary/i
|
||||
local.get $0
|
||||
end
|
||||
global.set $unary/i
|
||||
global.get $unary/I
|
||||
drop
|
||||
@@ -175,39 +167,31 @@
|
||||
i64.const -1
|
||||
i64.xor
|
||||
global.set $unary/I
|
||||
block (result i64)
|
||||
global.get $unary/I
|
||||
i64.const 1
|
||||
i64.add
|
||||
global.set $unary/I
|
||||
global.get $unary/I
|
||||
end
|
||||
global.set $unary/I
|
||||
block (result i64)
|
||||
global.get $unary/I
|
||||
i64.const 1
|
||||
i64.sub
|
||||
global.set $unary/I
|
||||
global.get $unary/I
|
||||
end
|
||||
global.set $unary/I
|
||||
block (result i64)
|
||||
global.get $unary/I
|
||||
local.tee $1
|
||||
i64.const 1
|
||||
i64.add
|
||||
global.set $unary/I
|
||||
local.get $1
|
||||
end
|
||||
global.set $unary/I
|
||||
block (result i64)
|
||||
global.get $unary/I
|
||||
local.tee $1
|
||||
i64.const 1
|
||||
i64.sub
|
||||
global.set $unary/I
|
||||
local.get $1
|
||||
end
|
||||
global.set $unary/I
|
||||
global.get $unary/f
|
||||
drop
|
||||
@@ -251,39 +235,31 @@
|
||||
f32.const 0
|
||||
f32.eq
|
||||
global.set $unary/i
|
||||
block (result f32)
|
||||
global.get $unary/f
|
||||
f32.const 1
|
||||
f32.add
|
||||
global.set $unary/f
|
||||
global.get $unary/f
|
||||
end
|
||||
global.set $unary/f
|
||||
block (result f32)
|
||||
global.get $unary/f
|
||||
f32.const 1
|
||||
f32.sub
|
||||
global.set $unary/f
|
||||
global.get $unary/f
|
||||
end
|
||||
global.set $unary/f
|
||||
block (result f32)
|
||||
global.get $unary/f
|
||||
local.tee $2
|
||||
f32.const 1
|
||||
f32.add
|
||||
global.set $unary/f
|
||||
local.get $2
|
||||
end
|
||||
global.set $unary/f
|
||||
block (result f32)
|
||||
global.get $unary/f
|
||||
local.tee $2
|
||||
f32.const 1
|
||||
f32.sub
|
||||
global.set $unary/f
|
||||
local.get $2
|
||||
end
|
||||
global.set $unary/f
|
||||
global.get $unary/F
|
||||
drop
|
||||
@@ -329,39 +305,31 @@
|
||||
f64.eq
|
||||
i64.extend_i32_u
|
||||
global.set $unary/I
|
||||
block (result f64)
|
||||
global.get $unary/F
|
||||
f64.const 1
|
||||
f64.add
|
||||
global.set $unary/F
|
||||
global.get $unary/F
|
||||
end
|
||||
global.set $unary/F
|
||||
block (result f64)
|
||||
global.get $unary/F
|
||||
f64.const 1
|
||||
f64.sub
|
||||
global.set $unary/F
|
||||
global.get $unary/F
|
||||
end
|
||||
global.set $unary/F
|
||||
block (result f64)
|
||||
global.get $unary/F
|
||||
local.tee $3
|
||||
f64.const 1
|
||||
f64.add
|
||||
global.set $unary/F
|
||||
local.get $3
|
||||
end
|
||||
global.set $unary/F
|
||||
block (result f64)
|
||||
global.get $unary/F
|
||||
local.tee $3
|
||||
f64.const 1
|
||||
f64.sub
|
||||
global.set $unary/F
|
||||
local.get $3
|
||||
end
|
||||
global.set $unary/F
|
||||
)
|
||||
(func $start (; 1 ;) (type $FUNCSIG$v)
|
||||
|
@@ -326,7 +326,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
i32.eq
|
||||
@@ -351,7 +350,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
i32.const 0
|
||||
i32.const 0
|
||||
i32.eq
|
||||
@@ -508,7 +506,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
block
|
||||
i32.const 4
|
||||
i32.const 4
|
||||
i32.eq
|
||||
@@ -533,7 +530,6 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
end
|
||||
i32.const 9
|
||||
global.set $wasi/sig
|
||||
)
|
||||
|
@@ -27,7 +27,6 @@
|
||||
i32.add
|
||||
global.set $while/m
|
||||
br $continue|0
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -86,7 +85,6 @@
|
||||
i32.add
|
||||
global.set $while/o
|
||||
br $continue|2
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -115,7 +113,6 @@
|
||||
unreachable
|
||||
end
|
||||
br $continue|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
@@ -161,14 +158,12 @@
|
||||
global.set $while/m
|
||||
block $break|3
|
||||
loop $continue|3
|
||||
block (result i32)
|
||||
global.get $while/n
|
||||
local.tee $0
|
||||
i32.const 1
|
||||
i32.sub
|
||||
global.set $while/n
|
||||
local.get $0
|
||||
end
|
||||
if (result i32)
|
||||
global.get $while/m
|
||||
i32.const 1
|
||||
@@ -182,7 +177,6 @@
|
||||
br_if $break|3
|
||||
nop
|
||||
br $continue|3
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
|
Reference in New Issue
Block a user