mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 15:12:12 +00:00
Use new RC utility for inlining so we can eventually inline everything
This commit is contained in:
parent
d9fbf8a2dd
commit
b19005f5bb
159
src/compiler.ts
159
src/compiler.ts
@ -84,7 +84,8 @@ import {
|
||||
import {
|
||||
FlowFlags,
|
||||
Flow,
|
||||
LocalFlags
|
||||
LocalFlags,
|
||||
findUsedLocals
|
||||
} from "./flow";
|
||||
|
||||
import {
|
||||
@ -2523,7 +2524,16 @@ export class Compiler extends DiagnosticEmitter {
|
||||
declaration.isAny(CommonFlags.LET | CommonFlags.CONST) ||
|
||||
flow.is(FlowFlags.INLINE_CONTEXT)
|
||||
) { // here: not top-level
|
||||
local = flow.addScopedLocal(name, type, declaration.name); // reports if duplicate
|
||||
let existingLocal = flow.getScopedLocal(name);
|
||||
if (existingLocal) {
|
||||
this.error(
|
||||
DiagnosticCode.Duplicate_identifier_0,
|
||||
declaration.name.range, declaration.name.text
|
||||
);
|
||||
local = existingLocal;
|
||||
} else {
|
||||
local = flow.addScopedLocal(name, type);
|
||||
}
|
||||
if (isConst) flow.setLocalFlag(local.index, LocalFlags.CONSTANT);
|
||||
} else {
|
||||
if (flow.lookupLocal(name)) {
|
||||
@ -5888,7 +5898,6 @@ export class Compiler extends DiagnosticEmitter {
|
||||
expression.arguments,
|
||||
expression,
|
||||
thisExpr,
|
||||
false,
|
||||
contextualFlags
|
||||
);
|
||||
}
|
||||
@ -6114,7 +6123,6 @@ export class Compiler extends DiagnosticEmitter {
|
||||
argumentExpressions: Expression[],
|
||||
reportNode: Node,
|
||||
thisArg: ExpressionRef = 0,
|
||||
inlineCanAlias: bool = false,
|
||||
contextualFlags: ContextualFlags = ContextualFlags.NONE
|
||||
): ExpressionRef {
|
||||
var numArguments = argumentExpressions.length;
|
||||
@ -6139,7 +6147,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
);
|
||||
} else {
|
||||
this.currentInlineFunctions.push(instance);
|
||||
let expr = this.compileCallInlinePrechecked(instance, argumentExpressions, thisArg, inlineCanAlias, (contextualFlags & ContextualFlags.WILL_DROP) != 0);
|
||||
let expr = this.compileCallInlinePrechecked(instance, argumentExpressions, thisArg, (contextualFlags & ContextualFlags.WILL_DROP) != 0);
|
||||
this.currentInlineFunctions.pop();
|
||||
return expr;
|
||||
}
|
||||
@ -6203,7 +6211,6 @@ export class Compiler extends DiagnosticEmitter {
|
||||
instance: Function,
|
||||
argumentExpressions: Expression[],
|
||||
thisArg: ExpressionRef = 0,
|
||||
canAlias: bool = false,
|
||||
immediatelyDropped: bool = false
|
||||
): ExpressionRef {
|
||||
var numArguments = argumentExpressions.length;
|
||||
@ -6211,93 +6218,76 @@ export class Compiler extends DiagnosticEmitter {
|
||||
var parameterTypes = signature.parameterTypes;
|
||||
assert(numArguments <= parameterTypes.length);
|
||||
var args = new Array<ExpressionRef>(numArguments);
|
||||
var flow = this.currentFlow;
|
||||
|
||||
// compile arguments possibly using their own temp locals
|
||||
var temps = flow.blockLocalsBeforeInlining(instance);
|
||||
for (let i = 0; i < numArguments; ++i) {
|
||||
args[i] = this.compileExpression(argumentExpressions[i], parameterTypes[i],
|
||||
ContextualFlags.IMPLICIT
|
||||
);
|
||||
}
|
||||
flow.unblockLocals(temps);
|
||||
|
||||
return this.makeCallInlinePrechecked(instance, args, thisArg, canAlias, immediatelyDropped);
|
||||
return this.makeCallInlinePrechecked(instance, args, thisArg, immediatelyDropped);
|
||||
}
|
||||
|
||||
makeCallInlinePrechecked(
|
||||
instance: Function,
|
||||
args: ExpressionRef[],
|
||||
operands: ExpressionRef[] | null,
|
||||
thisArg: ExpressionRef = 0,
|
||||
canAlias: bool = false,
|
||||
immediatelyDropped: bool = false
|
||||
): ExpressionRef {
|
||||
|
||||
// CAUTION: Imagine a call like `theCall(a, b)`. Unless canAlias, inlining needs a temporary local for
|
||||
// each argument, looking something like `BLOCK { t1 = a, t2 = b, inlinedTheCall }`. Now, if argument b,
|
||||
// which is compiled beforehand, itself required a temporary local, it is likely that it did pick `t1`
|
||||
// for this, making it something like `BLOCK { t1 = a, t2 = (t1 = c, t1), inlinedTheCall }`, which is
|
||||
// overwriting t1. Hence, whenever makeCallInline is used, this condition must be taken into account.
|
||||
// Flows provide the helpers Flow#blockLocalsBeforeInlining and Flow#unblockLocals for this.
|
||||
|
||||
var module = this.module;
|
||||
var numArguments = operands ? operands.length : 0;
|
||||
var signature = instance.signature;
|
||||
var parameterTypes = signature.parameterTypes;
|
||||
var numParameters = parameterTypes.length;
|
||||
|
||||
// Create a new inline flow and use it to compile the function as a block
|
||||
var previousFlow = this.currentFlow;
|
||||
var flow = Flow.createInline(previousFlow.parentFunction, instance);
|
||||
var body = [];
|
||||
var usedLocals = new Set<i32>();
|
||||
|
||||
// Convert provided call arguments to temporary locals
|
||||
// Prepare compiled arguments right to left, keeping track of used locals.
|
||||
for (let i = numArguments - 1; i >= 0; --i) {
|
||||
// This is necessary because a later expression must not set an earlier argument local, which
|
||||
// is also just a temporary, when being executed. Take for example `t1=1, t2=(t1 = 2)`, where
|
||||
// the right expression would reassign the foregoing argument local. So, we iterate from right
|
||||
// to left, remembering what's used later, and don't use these for earlier arguments, making
|
||||
// the example above essentially `t2=1, t1=(t1 = 2)`.
|
||||
let paramExpr = operands![i];
|
||||
let paramType = parameterTypes[i];
|
||||
let argumentLocal = flow.addScopedLocal(signature.getParameterName(i), paramType, usedLocals);
|
||||
findUsedLocals(paramExpr, usedLocals);
|
||||
// Normal function wouldn't know about wrap/nonnull states, but inlining does:
|
||||
if (!previousFlow.canOverflow(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.WRAPPED);
|
||||
if (flow.isNonnull(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.NONNULL);
|
||||
if (paramType.isManaged) {
|
||||
flow.setLocalFlag(argumentLocal.index, LocalFlags.RETAINED);
|
||||
body.unshift(
|
||||
module.local_set(argumentLocal.index,
|
||||
this.makeRetain(paramExpr)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
body.unshift(
|
||||
module.local_set(argumentLocal.index, paramExpr)
|
||||
);
|
||||
}
|
||||
}
|
||||
if (thisArg) {
|
||||
let classInstance = assert(instance.parent); assert(classInstance.kind == ElementKind.CLASS);
|
||||
let thisType = assert(instance.signature.thisType);
|
||||
if (canAlias && getExpressionId(thisArg) == ExpressionId.LocalGet) {
|
||||
flow.addScopedAlias(CommonSymbols.this_, thisType, getLocalGetIndex(thisArg));
|
||||
let baseInstance = (<Class>classInstance).base;
|
||||
if (baseInstance) flow.addScopedAlias(CommonSymbols.super_, baseInstance.type, getLocalGetIndex(thisArg));
|
||||
} else {
|
||||
let thisLocal = flow.addScopedLocal(CommonSymbols.this_, thisType);
|
||||
// No need to retain `this` as it can't be reassigned and thus can't become prematurely released
|
||||
body.push(
|
||||
module.local_set(thisLocal.index, thisArg)
|
||||
);
|
||||
let baseInstance = (<Class>classInstance).base;
|
||||
if (baseInstance) flow.addScopedAlias(CommonSymbols.super_, baseInstance.type, thisLocal.index);
|
||||
}
|
||||
let thisLocal = flow.addScopedLocal(CommonSymbols.this_, thisType, usedLocals);
|
||||
// No need to retain `this` as it can't be reassigned and thus can't become prematurely released
|
||||
body.unshift(
|
||||
module.local_set(thisLocal.index, thisArg)
|
||||
);
|
||||
let baseInstance = (<Class>classInstance).base;
|
||||
if (baseInstance) flow.addScopedAlias(CommonSymbols.super_, baseInstance.type, thisLocal.index);
|
||||
} else {
|
||||
assert(!instance.signature.thisType);
|
||||
}
|
||||
var numArguments = args.length;
|
||||
var signature = instance.signature;
|
||||
var parameterTypes = signature.parameterTypes;
|
||||
for (let i = 0; i < numArguments; ++i) {
|
||||
let paramExpr = args[i];
|
||||
let paramType = parameterTypes[i];
|
||||
if (canAlias && getExpressionId(paramExpr) == ExpressionId.LocalGet) {
|
||||
flow.addScopedAlias(signature.getParameterName(i), paramType, getLocalGetIndex(paramExpr));
|
||||
} else {
|
||||
let argumentLocal = flow.addScopedLocal(signature.getParameterName(i), paramType);
|
||||
// Normal function wouldn't know about wrap/nonnull states, but inlining does:
|
||||
if (!previousFlow.canOverflow(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.WRAPPED);
|
||||
if (flow.isNonnull(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.NONNULL);
|
||||
if (paramType.isManaged) {
|
||||
flow.setLocalFlag(argumentLocal.index, LocalFlags.RETAINED);
|
||||
body.push(
|
||||
module.local_set(argumentLocal.index,
|
||||
this.makeRetain(paramExpr)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
body.push(
|
||||
module.local_set(argumentLocal.index, paramExpr)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Compile optional parameter initializers in the scope of the inlined flow
|
||||
// Compile omitted arguments with final argument locals blocked. Doesn't need to take care of
|
||||
// side-effects within earlier expressions because these already happened on set.
|
||||
this.currentFlow = flow;
|
||||
var numParameters = signature.parameterTypes.length;
|
||||
for (let i = numArguments; i < numParameters; ++i) {
|
||||
let initType = parameterTypes[i];
|
||||
let initExpr = this.compileExpression(
|
||||
@ -6305,24 +6295,20 @@ export class Compiler extends DiagnosticEmitter {
|
||||
initType,
|
||||
ContextualFlags.IMPLICIT
|
||||
);
|
||||
if (canAlias && getExpressionId(initExpr) == ExpressionId.LocalGet) {
|
||||
flow.addScopedAlias(signature.getParameterName(i), initType, getLocalGetIndex(initExpr));
|
||||
let argumentLocal = flow.addScopedLocal(signature.getParameterName(i), initType);
|
||||
if (!flow.canOverflow(initExpr, initType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.WRAPPED);
|
||||
if (flow.isNonnull(initExpr, initType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.NONNULL);
|
||||
if (initType.isManaged) {
|
||||
flow.setLocalFlag(argumentLocal.index, LocalFlags.RETAINED);
|
||||
body.push(
|
||||
module.local_set(argumentLocal.index,
|
||||
this.makeRetain(initExpr)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
let argumentLocal = flow.addScopedLocal(signature.getParameterName(i), initType);
|
||||
if (!flow.canOverflow(initExpr, initType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.WRAPPED);
|
||||
if (flow.isNonnull(initExpr, initType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.NONNULL);
|
||||
if (initType.isManaged) {
|
||||
flow.setLocalFlag(argumentLocal.index, LocalFlags.RETAINED);
|
||||
body.push(
|
||||
module.local_set(argumentLocal.index,
|
||||
this.makeRetain(initExpr)
|
||||
)
|
||||
);
|
||||
} else {
|
||||
body.push(
|
||||
module.local_set(argumentLocal.index, initExpr)
|
||||
);
|
||||
}
|
||||
body.push(
|
||||
module.local_set(argumentLocal.index, initExpr)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6539,7 +6525,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
var flow = this.currentFlow;
|
||||
var usizeType = this.options.usizeType;
|
||||
var nativeSizeType = this.options.nativeSizeType;
|
||||
var temp1 = flow.getTempLocal(usizeType, oldExpr);
|
||||
var temp1 = flow.getTempLocal(usizeType, findUsedLocals(oldExpr));
|
||||
var temp2 = flow.getAndFreeTempLocal(usizeType);
|
||||
flow.freeTempLocal(temp1);
|
||||
return module.block(null, [
|
||||
@ -6567,7 +6553,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
var flow = this.currentFlow;
|
||||
var usizeType = this.options.usizeType;
|
||||
var nativeSizeType = this.options.nativeSizeType;
|
||||
var temp = flow.getAndFreeTempLocal(usizeType, oldExpr);
|
||||
var temp = flow.getAndFreeTempLocal(usizeType, findUsedLocals(oldExpr));
|
||||
return module.block(null, [
|
||||
module.local_set(temp.index, newExpr),
|
||||
this.makeRelease(oldExpr),
|
||||
@ -6961,7 +6947,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
);
|
||||
return this.compileCallDirect(indexedGet, [
|
||||
expression.elementExpression
|
||||
], expression, thisArg, false, contextualFlags & (ContextualFlags.WILL_DROP | ContextualFlags.SKIP_AUTORELEASE));
|
||||
], expression, thisArg, contextualFlags & (ContextualFlags.WILL_DROP | ContextualFlags.SKIP_AUTORELEASE));
|
||||
}
|
||||
}
|
||||
this.error(
|
||||
@ -7931,7 +7917,6 @@ export class Compiler extends DiagnosticEmitter {
|
||||
argumentExpressions,
|
||||
reportNode,
|
||||
this.options.usizeType.toNativeZero(this.module),
|
||||
false,
|
||||
contextualFlags
|
||||
);
|
||||
if (getExpressionType(expr) != NativeType.None) { // possibly IMM_DROPPED
|
||||
|
79
src/flow.ts
79
src/flow.ts
@ -299,7 +299,7 @@ export class Flow {
|
||||
}
|
||||
|
||||
/** Gets a free temporary local of the specified type. */
|
||||
getTempLocal(type: Type, except: ExpressionRef = 0): Local {
|
||||
getTempLocal(type: Type, except: Set<i32> | null = null): Local {
|
||||
var parentFunction = this.parentFunction;
|
||||
var temps: Local[] | null;
|
||||
switch (type.toNativeType()) {
|
||||
@ -313,14 +313,14 @@ export class Flow {
|
||||
var local: Local;
|
||||
if (except) {
|
||||
if (temps && temps.length) {
|
||||
let usedLocals = new Set<i32>();
|
||||
traverse(except, usedLocals, findUsedLocals);
|
||||
for (let i = 0, k = temps.length; i < k; ++i) {
|
||||
if (!usedLocals.has(temps[i].index)) {
|
||||
if (!except.has(temps[i].index)) {
|
||||
local = temps[i];
|
||||
let k = temps.length - 1;
|
||||
while (i < k) unchecked(temps[i] = temps[i++ + 1]);
|
||||
temps.length = k;
|
||||
local.type = type;
|
||||
local.flags = CommonFlags.NONE;
|
||||
this.unsetLocalFlag(local.index, ~0);
|
||||
return local;
|
||||
}
|
||||
@ -341,7 +341,7 @@ export class Flow {
|
||||
}
|
||||
|
||||
/** Gets a local that sticks around until this flow is exited, and then released. */
|
||||
getAutoreleaseLocal(type: Type, except: ExpressionRef = 0): Local {
|
||||
getAutoreleaseLocal(type: Type, except: Set<i32> | null = null): Local {
|
||||
var local = this.getTempLocal(type, except);
|
||||
local.set(CommonFlags.SCOPED);
|
||||
var scopedLocals = this.scopedLocals;
|
||||
@ -386,30 +386,27 @@ export class Flow {
|
||||
}
|
||||
|
||||
/** Gets and immediately frees a temporary local of the specified type. */
|
||||
getAndFreeTempLocal(type: Type, except: ExpressionRef = 0): Local {
|
||||
getAndFreeTempLocal(type: Type, except: Set<i32> | null = null): Local {
|
||||
var local = this.getTempLocal(type, except);
|
||||
this.freeTempLocal(local);
|
||||
return local;
|
||||
}
|
||||
|
||||
/** Gets the scoped local of the specified name. */
|
||||
getScopedLocal(name: string): Local | null {
|
||||
var scopedLocals = this.scopedLocals;
|
||||
if (scopedLocals && scopedLocals.has(name)) return scopedLocals.get(name);
|
||||
return null;
|
||||
}
|
||||
|
||||
/** Adds a new scoped local of the specified name. */
|
||||
addScopedLocal(name: string, type: Type, reportNode: Node | null = null): Local {
|
||||
var scopedLocal = this.getTempLocal(type);
|
||||
if (!this.scopedLocals) this.scopedLocals = new Map();
|
||||
else {
|
||||
let existingLocal = this.scopedLocals.get(name);
|
||||
if (existingLocal) {
|
||||
if (reportNode) {
|
||||
this.parentFunction.program.error(
|
||||
DiagnosticCode.Duplicate_identifier_0,
|
||||
reportNode.range
|
||||
);
|
||||
}
|
||||
return existingLocal;
|
||||
}
|
||||
}
|
||||
addScopedLocal(name: string, type: Type, except: Set<i32> | null = null): Local {
|
||||
var scopedLocal = this.getTempLocal(type, except);
|
||||
var scopedLocals = this.scopedLocals;
|
||||
if (!scopedLocals) this.scopedLocals = scopedLocals = new Map();
|
||||
else assert(!scopedLocals.has(name));
|
||||
scopedLocal.set(CommonFlags.SCOPED);
|
||||
this.scopedLocals.set(name, scopedLocal);
|
||||
scopedLocals.set(name, scopedLocal);
|
||||
return scopedLocal;
|
||||
}
|
||||
|
||||
@ -429,38 +426,12 @@ export class Flow {
|
||||
}
|
||||
}
|
||||
assert(index < this.parentFunction.localsByIndex.length);
|
||||
var scopedAlias = new Local(
|
||||
name,
|
||||
index,
|
||||
type,
|
||||
this.parentFunction
|
||||
);
|
||||
var scopedAlias = new Local(name, index, type, this.parentFunction);
|
||||
// not flagged as SCOPED as it must not be free'd when the flow is finalized
|
||||
this.scopedLocals.set(name, scopedAlias);
|
||||
return scopedAlias;
|
||||
}
|
||||
|
||||
/** Blocks any locals that might be used in an inlining operation. */
|
||||
blockLocalsBeforeInlining(instance: Function): Local[] {
|
||||
var signature = instance.signature;
|
||||
var parameterTypes = signature.parameterTypes;
|
||||
var numParameters = parameterTypes.length;
|
||||
var temps = new Array<Local>(numParameters);
|
||||
for (let i = 0; i < numParameters; ++i) {
|
||||
temps[i] = this.getTempLocal(parameterTypes[i]);
|
||||
}
|
||||
var thisType = signature.thisType;
|
||||
if (thisType) temps.push(this.getTempLocal(thisType));
|
||||
return temps;
|
||||
}
|
||||
|
||||
/** Unblocks the specified locals. */
|
||||
unblockLocals(temps: Local[]): void {
|
||||
for (let i = 0, k = temps.length; i < k; ++i) {
|
||||
this.freeTempLocal(temps[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/** Frees this flow's scoped variables and returns its parent flow. */
|
||||
freeScopedLocals(): void {
|
||||
if (this.scopedLocals) {
|
||||
@ -1080,8 +1051,14 @@ function canConversionOverflow(fromType: Type, toType: Type): bool {
|
||||
|| fromType.is(TypeFlags.SIGNED) != toType.is(TypeFlags.SIGNED);
|
||||
}
|
||||
|
||||
/** Finds all indexes of locals used in the specified expression. */
|
||||
export function findUsedLocals(expr: ExpressionRef, used: Set<i32> = new Set()): Set<i32> {
|
||||
traverse(expr, used, findUsedLocalsVisit);
|
||||
return used;
|
||||
}
|
||||
|
||||
/** A visitor function for use with `traverse` that finds all indexes of used locals. */
|
||||
function findUsedLocals(expr: ExpressionRef, used: Set<i32>): void {
|
||||
function findUsedLocalsVisit(expr: ExpressionRef, used: Set<i32>): void {
|
||||
switch (getExpressionId(expr)) {
|
||||
case ExpressionId.LocalGet: {
|
||||
used.add(getLocalGetIndex(expr));
|
||||
@ -1091,6 +1068,6 @@ function findUsedLocals(expr: ExpressionRef, used: Set<i32>): void {
|
||||
used.add(getLocalSetIndex(expr));
|
||||
// fall-through for value
|
||||
}
|
||||
default: traverse(expr, used, findUsedLocals);
|
||||
default: traverse(expr, used, findUsedLocalsVisit);
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
(global $inlining-blocklocals/b (mut i32) (i32.const 2))
|
||||
(global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0))
|
||||
(global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0))
|
||||
(global $inlining-blocklocals/theCall_c (mut i32) (i32.const 0))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v)
|
||||
@ -20,13 +21,15 @@
|
||||
global.set $inlining-blocklocals/theCall_a
|
||||
local.get $0
|
||||
global.set $inlining-blocklocals/theCall_b
|
||||
i32.const 3
|
||||
global.set $inlining-blocklocals/theCall_c
|
||||
global.get $inlining-blocklocals/theCall_a
|
||||
i32.const 1
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 16
|
||||
i32.const 18
|
||||
i32.const 2
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -37,7 +40,18 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 17
|
||||
i32.const 19
|
||||
i32.const 2
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
global.get $inlining-blocklocals/theCall_c
|
||||
i32.const 3
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 20
|
||||
i32.const 2
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
|
@ -2,18 +2,22 @@ var b: i32 = 2;
|
||||
|
||||
var theCall_a: i32;
|
||||
var theCall_b: i32;
|
||||
var theCall_c: i32;
|
||||
|
||||
@inline function theCall(a: i32, b: i32): void {
|
||||
@inline function theCall(a: i32, b: i32, c: i32): void {
|
||||
theCall_a = a;
|
||||
theCall_b = b;
|
||||
theCall_c = c;
|
||||
}
|
||||
|
||||
function test(): void {
|
||||
var a = 1;
|
||||
// no blocking: t1 = a; t2 = (t1 = b) + 1, t1; theCall ✖
|
||||
// blocking: t1 = a; t2 = (t3 = b) + 1, t3; theCall ✔
|
||||
theCall(a, b++);
|
||||
// see comment in Compiler#makeCallInlinePrechecked
|
||||
// theCall($3, $2=[except $3], $1=[except $3,$2])
|
||||
theCall(a++, b++, ++a);
|
||||
assert(theCall_a == 1);
|
||||
assert(theCall_b == 2);
|
||||
assert(theCall_c == 3);
|
||||
assert(a == 3);
|
||||
}
|
||||
test();
|
||||
|
@ -9,6 +9,7 @@
|
||||
(global $inlining-blocklocals/b (mut i32) (i32.const 2))
|
||||
(global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0))
|
||||
(global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0))
|
||||
(global $inlining-blocklocals/theCall_c (mut i32) (i32.const 0))
|
||||
(export "memory" (memory $0))
|
||||
(start $start)
|
||||
(func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v)
|
||||
@ -19,21 +20,35 @@
|
||||
i32.const 1
|
||||
local.set $0
|
||||
block $inlining-blocklocals/theCall|inlined.0
|
||||
local.get $0
|
||||
local.set $2
|
||||
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 $3
|
||||
local.tee $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $inlining-blocklocals/b
|
||||
local.get $3
|
||||
local.get $1
|
||||
end
|
||||
local.set $2
|
||||
local.get $0
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $0
|
||||
local.set $1
|
||||
local.get $2
|
||||
local.get $3
|
||||
global.set $inlining-blocklocals/theCall_a
|
||||
local.get $1
|
||||
local.get $2
|
||||
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
|
||||
@ -42,7 +57,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 16
|
||||
i32.const 18
|
||||
i32.const 2
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
@ -54,7 +69,31 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 17
|
||||
i32.const 19
|
||||
i32.const 2
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
global.get $inlining-blocklocals/theCall_c
|
||||
i32.const 3
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 20
|
||||
i32.const 2
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $0
|
||||
i32.const 3
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 24
|
||||
i32.const 21
|
||||
i32.const 2
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
|
@ -195,18 +195,18 @@
|
||||
end
|
||||
block $inlining/func_ii_loc|inlined.1 (result i32)
|
||||
i32.const 3
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $3
|
||||
local.get $3
|
||||
end
|
||||
i32.const 4
|
||||
i32.eq
|
||||
@ -245,10 +245,10 @@
|
||||
end
|
||||
block $inlining/Foo.method_static|inlined.0 (result i32)
|
||||
i32.const 42
|
||||
local.set $3
|
||||
local.set $6
|
||||
i32.const 2
|
||||
local.set $2
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $2
|
||||
i32.add
|
||||
end
|
||||
@ -270,7 +270,7 @@
|
||||
local.get $7
|
||||
local.set $4
|
||||
i32.const 43
|
||||
local.set $3
|
||||
local.set $5
|
||||
i32.const 3
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -431,7 +431,7 @@
|
||||
i32.store offset=4
|
||||
local.get $3
|
||||
end
|
||||
local.tee $2
|
||||
local.tee $3
|
||||
local.set $1
|
||||
local.get $1
|
||||
i32.const 3
|
||||
@ -444,7 +444,7 @@
|
||||
i32.store offset=12
|
||||
local.get $1
|
||||
end
|
||||
local.tee $2
|
||||
local.tee $3
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $4
|
||||
local.get $4
|
||||
@ -499,7 +499,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $2
|
||||
local.get $3
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $4
|
||||
call $~lib/rt/stub/__release
|
||||
|
@ -1051,31 +1051,31 @@
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.tee $2
|
||||
local.tee $1
|
||||
if
|
||||
i32.const 0
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.sub
|
||||
local.set $1
|
||||
local.set $2
|
||||
end
|
||||
local.get $1
|
||||
local.get $2
|
||||
end
|
||||
local.get $1
|
||||
local.get $2
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
call $~lib/util/number/utoa_simple<u32>
|
||||
local.get $0
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $2
|
||||
local.get $1
|
||||
select
|
||||
i32.store16
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.const 2
|
||||
i32.add
|
||||
else
|
||||
|
@ -632,11 +632,11 @@
|
||||
(local $17 i32)
|
||||
(local $18 i32)
|
||||
(local $19 i64)
|
||||
(local $20 i32)
|
||||
(local $20 i64)
|
||||
(local $21 i64)
|
||||
(local $22 i64)
|
||||
(local $23 i64)
|
||||
(local $24 i64)
|
||||
(local $24 i32)
|
||||
(local $25 i32)
|
||||
(local $26 i32)
|
||||
i32.const 0
|
||||
@ -927,13 +927,13 @@
|
||||
global.set $~lib/util/number/_K
|
||||
block $~lib/util/number/grisuRound|inlined.0
|
||||
local.get $0
|
||||
local.set $20
|
||||
local.set $24
|
||||
local.get $15
|
||||
local.set $18
|
||||
local.get $5
|
||||
local.set $24
|
||||
local.get $19
|
||||
local.set $23
|
||||
local.get $19
|
||||
local.set $22
|
||||
local.get $16
|
||||
local.get $14
|
||||
i32.const 2
|
||||
@ -943,10 +943,10 @@
|
||||
local.get $7
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
local.set $22
|
||||
local.get $10
|
||||
local.set $21
|
||||
local.get $20
|
||||
local.get $10
|
||||
local.set $20
|
||||
local.get $24
|
||||
local.get $18
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -959,34 +959,34 @@
|
||||
local.set $26
|
||||
block $break|2
|
||||
loop $continue|2
|
||||
local.get $23
|
||||
local.get $21
|
||||
local.get $22
|
||||
local.get $20
|
||||
i64.lt_u
|
||||
if (result i32)
|
||||
local.get $24
|
||||
local.get $23
|
||||
i64.sub
|
||||
local.get $22
|
||||
i64.sub
|
||||
local.get $21
|
||||
i64.ge_u
|
||||
else
|
||||
i32.const 0
|
||||
end
|
||||
if (result i32)
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $21
|
||||
i64.add
|
||||
local.get $20
|
||||
i64.lt_u
|
||||
if (result i32)
|
||||
i32.const 1
|
||||
else
|
||||
local.get $21
|
||||
local.get $23
|
||||
i64.sub
|
||||
local.get $23
|
||||
local.get $20
|
||||
local.get $22
|
||||
i64.sub
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $21
|
||||
i64.add
|
||||
local.get $20
|
||||
i64.sub
|
||||
i64.gt_u
|
||||
end
|
||||
@ -998,10 +998,10 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $26
|
||||
local.get $23
|
||||
local.get $22
|
||||
local.get $21
|
||||
i64.add
|
||||
local.set $23
|
||||
local.set $22
|
||||
br $continue|2
|
||||
end
|
||||
end
|
||||
@ -1090,58 +1090,58 @@
|
||||
local.set $10
|
||||
block $~lib/util/number/grisuRound|inlined.1
|
||||
local.get $0
|
||||
local.set $26
|
||||
local.get $15
|
||||
local.set $17
|
||||
local.get $5
|
||||
local.set $24
|
||||
local.get $13
|
||||
local.get $15
|
||||
local.set $18
|
||||
local.get $5
|
||||
local.set $23
|
||||
local.get $8
|
||||
local.get $13
|
||||
local.set $22
|
||||
local.get $10
|
||||
local.get $8
|
||||
local.set $21
|
||||
local.get $26
|
||||
local.get $17
|
||||
local.get $10
|
||||
local.set $20
|
||||
local.get $24
|
||||
local.get $18
|
||||
i32.const 1
|
||||
i32.sub
|
||||
i32.const 1
|
||||
i32.shl
|
||||
i32.add
|
||||
local.set $25
|
||||
local.get $25
|
||||
local.set $17
|
||||
local.get $17
|
||||
i32.load16_u
|
||||
local.set $18
|
||||
local.set $26
|
||||
block $break|4
|
||||
loop $continue|4
|
||||
local.get $23
|
||||
local.get $21
|
||||
local.get $22
|
||||
local.get $20
|
||||
i64.lt_u
|
||||
if (result i32)
|
||||
local.get $24
|
||||
local.get $23
|
||||
i64.sub
|
||||
local.get $22
|
||||
i64.sub
|
||||
local.get $21
|
||||
i64.ge_u
|
||||
else
|
||||
i32.const 0
|
||||
end
|
||||
if (result i32)
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $21
|
||||
i64.add
|
||||
local.get $20
|
||||
i64.lt_u
|
||||
if (result i32)
|
||||
i32.const 1
|
||||
else
|
||||
local.get $21
|
||||
local.get $23
|
||||
i64.sub
|
||||
local.get $23
|
||||
local.get $20
|
||||
local.get $22
|
||||
i64.sub
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $21
|
||||
i64.add
|
||||
local.get $20
|
||||
i64.sub
|
||||
i64.gt_u
|
||||
end
|
||||
@ -1149,20 +1149,20 @@
|
||||
i32.const 0
|
||||
end
|
||||
if
|
||||
local.get $18
|
||||
local.get $26
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $18
|
||||
local.get $23
|
||||
local.set $26
|
||||
local.get $22
|
||||
local.get $21
|
||||
i64.add
|
||||
local.set $23
|
||||
local.set $22
|
||||
br $continue|4
|
||||
end
|
||||
end
|
||||
end
|
||||
local.get $25
|
||||
local.get $18
|
||||
local.get $17
|
||||
local.get $26
|
||||
i32.store16
|
||||
end
|
||||
local.get $15
|
||||
@ -2789,31 +2789,31 @@
|
||||
local.get $0
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.set $6
|
||||
local.get $6
|
||||
if
|
||||
i32.const 0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $4
|
||||
local.set $5
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $7
|
||||
block $~lib/util/number/utoa32_core|inlined.1
|
||||
local.get $5
|
||||
local.set $10
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $5
|
||||
local.set $9
|
||||
local.get $7
|
||||
local.set $8
|
||||
@ -2822,7 +2822,7 @@
|
||||
local.get $8
|
||||
call $~lib/util/number/utoa32_lut
|
||||
end
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $6
|
||||
@ -2865,46 +2865,46 @@
|
||||
i32.add
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $9
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $8
|
||||
local.get $8
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.set $6
|
||||
local.get $6
|
||||
if
|
||||
i32.const 0
|
||||
local.get $6
|
||||
local.get $8
|
||||
i32.sub
|
||||
local.set $6
|
||||
local.set $8
|
||||
end
|
||||
local.get $6
|
||||
local.get $8
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $8
|
||||
local.set $4
|
||||
block $~lib/util/number/utoa32_core|inlined.2
|
||||
local.get $4
|
||||
local.set $11
|
||||
local.get $6
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $9
|
||||
local.get $11
|
||||
local.get $10
|
||||
local.get $9
|
||||
local.set $11
|
||||
local.get $8
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $11
|
||||
local.get $5
|
||||
local.get $10
|
||||
call $~lib/util/number/utoa32_lut
|
||||
end
|
||||
local.get $4
|
||||
local.get $9
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $5
|
||||
local.get $6
|
||||
select
|
||||
i32.store16
|
||||
local.get $8
|
||||
local.get $4
|
||||
end
|
||||
i32.add
|
||||
local.set $1
|
||||
@ -2924,15 +2924,15 @@
|
||||
)
|
||||
(func $~lib/util/number/dtoa_core (; 20 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 f64)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
(local $5 f64)
|
||||
(local $6 i64)
|
||||
(local $7 i32)
|
||||
(local $8 i64)
|
||||
(local $9 i64)
|
||||
(local $10 i64)
|
||||
(local $11 i32)
|
||||
(local $10 i32)
|
||||
(local $11 i64)
|
||||
(local $12 i64)
|
||||
(local $13 i32)
|
||||
(local $14 i32)
|
||||
@ -2965,12 +2965,12 @@
|
||||
end
|
||||
block $~lib/util/number/grisu2|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $0
|
||||
local.set $5
|
||||
local.get $2
|
||||
local.get $0
|
||||
local.set $4
|
||||
local.get $3
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i64.reinterpret_f64
|
||||
local.set $6
|
||||
local.get $6
|
||||
@ -3006,16 +3006,16 @@
|
||||
local.set $7
|
||||
block $~lib/util/number/normalizedBoundaries|inlined.0
|
||||
local.get $9
|
||||
local.set $10
|
||||
local.get $7
|
||||
local.set $11
|
||||
local.get $10
|
||||
local.get $7
|
||||
local.set $10
|
||||
local.get $11
|
||||
i64.const 1
|
||||
i64.shl
|
||||
i64.const 1
|
||||
i64.add
|
||||
local.set $12
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $13
|
||||
@ -3033,20 +3033,20 @@
|
||||
i32.sub
|
||||
local.set $13
|
||||
i32.const 1
|
||||
local.get $10
|
||||
local.get $11
|
||||
i64.const 4503599627370496
|
||||
i64.eq
|
||||
i32.add
|
||||
local.set $15
|
||||
local.get $12
|
||||
global.set $~lib/util/number/_frc_plus
|
||||
local.get $10
|
||||
local.get $11
|
||||
local.get $15
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
i64.const 1
|
||||
i64.sub
|
||||
local.get $11
|
||||
local.get $10
|
||||
local.get $15
|
||||
i32.sub
|
||||
local.get $13
|
||||
@ -3059,9 +3059,9 @@
|
||||
end
|
||||
block $~lib/util/number/getCachedPower|inlined.0
|
||||
global.get $~lib/util/number/_exp
|
||||
local.set $15
|
||||
local.set $10
|
||||
i32.const -61
|
||||
local.get $15
|
||||
local.get $10
|
||||
i32.sub
|
||||
f64.convert_i32_s
|
||||
f64.const 0.30102999566398114
|
||||
@ -3071,62 +3071,62 @@
|
||||
local.set $16
|
||||
local.get $16
|
||||
i32.trunc_f64_s
|
||||
local.set $14
|
||||
local.get $14
|
||||
local.get $14
|
||||
local.set $15
|
||||
local.get $15
|
||||
local.get $15
|
||||
f64.convert_i32_s
|
||||
local.get $16
|
||||
f64.ne
|
||||
i32.add
|
||||
local.set $14
|
||||
local.get $14
|
||||
local.set $15
|
||||
local.get $15
|
||||
i32.const 3
|
||||
i32.shr_s
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $13
|
||||
local.set $14
|
||||
i32.const 348
|
||||
local.get $13
|
||||
local.get $14
|
||||
i32.const 3
|
||||
i32.shl
|
||||
i32.sub
|
||||
global.set $~lib/util/number/_K
|
||||
i32.const 1392
|
||||
local.get $13
|
||||
local.get $14
|
||||
call $~lib/array/Array<u64>#__unchecked_get
|
||||
global.set $~lib/util/number/_frc_pow
|
||||
i32.const 1616
|
||||
local.get $13
|
||||
local.get $14
|
||||
call $~lib/array/Array<i16>#__unchecked_get
|
||||
global.set $~lib/util/number/_exp_pow
|
||||
end
|
||||
local.get $9
|
||||
i64.clz
|
||||
i32.wrap_i64
|
||||
local.set $13
|
||||
local.set $14
|
||||
local.get $9
|
||||
local.get $13
|
||||
local.get $14
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
local.set $9
|
||||
local.get $7
|
||||
local.get $13
|
||||
local.get $14
|
||||
i32.sub
|
||||
local.set $7
|
||||
global.get $~lib/util/number/_frc_pow
|
||||
local.set $12
|
||||
global.get $~lib/util/number/_exp_pow
|
||||
local.set $14
|
||||
local.set $15
|
||||
block $~lib/util/number/umul64f|inlined.0 (result i64)
|
||||
local.get $9
|
||||
local.set $17
|
||||
local.get $12
|
||||
local.set $10
|
||||
local.set $11
|
||||
local.get $17
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $18
|
||||
local.get $10
|
||||
local.get $11
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $19
|
||||
@ -3134,7 +3134,7 @@
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $20
|
||||
local.get $10
|
||||
local.get $11
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $21
|
||||
@ -3181,53 +3181,53 @@
|
||||
local.set $24
|
||||
block $~lib/util/number/umul64e|inlined.0 (result i32)
|
||||
local.get $7
|
||||
local.set $11
|
||||
local.get $14
|
||||
local.set $15
|
||||
local.get $11
|
||||
local.set $10
|
||||
local.get $15
|
||||
local.set $13
|
||||
local.get $10
|
||||
local.get $13
|
||||
i32.add
|
||||
i32.const 64
|
||||
i32.add
|
||||
end
|
||||
local.set $15
|
||||
local.set $10
|
||||
block $~lib/util/number/umul64f|inlined.1 (result i64)
|
||||
global.get $~lib/util/number/_frc_plus
|
||||
local.set $22
|
||||
local.set $17
|
||||
local.get $12
|
||||
local.set $11
|
||||
local.get $17
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $23
|
||||
local.get $22
|
||||
local.get $11
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $22
|
||||
local.get $17
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $21
|
||||
local.get $23
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.get $11
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $20
|
||||
local.get $22
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $19
|
||||
local.get $23
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $18
|
||||
local.get $22
|
||||
i64.mul
|
||||
local.set $19
|
||||
local.get $21
|
||||
local.get $20
|
||||
local.get $22
|
||||
i64.mul
|
||||
local.set $10
|
||||
local.get $19
|
||||
local.get $20
|
||||
i64.mul
|
||||
local.get $10
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.set $17
|
||||
local.get $21
|
||||
local.get $18
|
||||
local.set $18
|
||||
local.get $23
|
||||
local.get $20
|
||||
i64.mul
|
||||
local.get $17
|
||||
local.get $18
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@ -3236,18 +3236,18 @@
|
||||
i64.const 2147483647
|
||||
i64.add
|
||||
local.set $25
|
||||
local.get $17
|
||||
local.get $18
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $17
|
||||
local.set $18
|
||||
local.get $25
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $25
|
||||
local.get $19
|
||||
local.get $18
|
||||
local.get $21
|
||||
local.get $20
|
||||
i64.mul
|
||||
local.get $17
|
||||
local.get $18
|
||||
i64.add
|
||||
local.get $25
|
||||
i64.add
|
||||
@ -3258,52 +3258,52 @@
|
||||
block $~lib/util/number/umul64e|inlined.1 (result i32)
|
||||
global.get $~lib/util/number/_exp
|
||||
local.set $26
|
||||
local.get $14
|
||||
local.set $11
|
||||
local.get $15
|
||||
local.set $13
|
||||
local.get $26
|
||||
local.get $11
|
||||
local.get $13
|
||||
i32.add
|
||||
i32.const 64
|
||||
i32.add
|
||||
end
|
||||
local.set $11
|
||||
local.set $26
|
||||
block $~lib/util/number/umul64f|inlined.2 (result i64)
|
||||
global.get $~lib/util/number/_frc_minus
|
||||
local.set $10
|
||||
local.get $12
|
||||
local.set $17
|
||||
local.get $10
|
||||
local.get $12
|
||||
local.set $11
|
||||
local.get $17
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $18
|
||||
local.get $17
|
||||
local.get $11
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $19
|
||||
local.get $10
|
||||
local.get $17
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $20
|
||||
local.get $17
|
||||
local.get $11
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $21
|
||||
local.get $18
|
||||
local.get $19
|
||||
i64.mul
|
||||
local.set $23
|
||||
local.set $22
|
||||
local.get $20
|
||||
local.get $19
|
||||
i64.mul
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.set $22
|
||||
local.set $23
|
||||
local.get $18
|
||||
local.get $21
|
||||
i64.mul
|
||||
local.get $22
|
||||
local.get $23
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@ -3312,10 +3312,10 @@
|
||||
i64.const 2147483647
|
||||
i64.add
|
||||
local.set $27
|
||||
local.get $22
|
||||
local.get $23
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $22
|
||||
local.set $23
|
||||
local.get $27
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
@ -3323,7 +3323,7 @@
|
||||
local.get $20
|
||||
local.get $21
|
||||
i64.mul
|
||||
local.get $22
|
||||
local.get $23
|
||||
i64.add
|
||||
local.get $27
|
||||
i64.add
|
||||
@ -3334,14 +3334,14 @@
|
||||
local.get $25
|
||||
local.get $27
|
||||
i64.sub
|
||||
local.set $22
|
||||
local.get $5
|
||||
local.get $24
|
||||
local.get $15
|
||||
local.get $25
|
||||
local.get $11
|
||||
local.get $22
|
||||
local.set $23
|
||||
local.get $4
|
||||
local.get $24
|
||||
local.get $10
|
||||
local.get $25
|
||||
local.get $26
|
||||
local.get $23
|
||||
local.get $3
|
||||
call $~lib/util/number/genDigits
|
||||
end
|
||||
local.set $28
|
||||
|
@ -277,30 +277,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -432,17 +432,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -454,7 +454,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -473,17 +473,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -592,16 +592,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -625,21 +625,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -652,16 +652,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -672,8 +672,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -952,9 +952,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -962,23 +962,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -986,37 +986,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.2
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1182,23 +1182,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1222,12 +1222,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1239,14 +1239,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -271,30 +271,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -426,17 +426,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -448,7 +448,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -467,17 +467,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -586,16 +586,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -619,21 +619,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -646,16 +646,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -666,8 +666,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -946,9 +946,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -956,23 +956,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -980,37 +980,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.2
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1176,23 +1176,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1216,12 +1216,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1233,14 +1233,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -210,30 +210,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -365,17 +365,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -387,7 +387,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -406,17 +406,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -525,16 +525,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -558,21 +558,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -585,16 +585,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -605,8 +605,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -831,9 +831,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -841,23 +841,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -865,37 +865,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1061,23 +1061,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1101,12 +1101,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1118,14 +1118,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -210,30 +210,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -365,17 +365,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -387,7 +387,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -406,17 +406,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -525,16 +525,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -558,21 +558,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -585,16 +585,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -605,8 +605,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -831,9 +831,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -841,23 +841,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -865,37 +865,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1061,23 +1061,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1101,12 +1101,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1118,14 +1118,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -210,30 +210,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -365,17 +365,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -387,7 +387,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -406,17 +406,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -525,16 +525,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -558,21 +558,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -585,16 +585,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -605,8 +605,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -831,9 +831,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -841,23 +841,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -865,37 +865,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1061,23 +1061,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1101,12 +1101,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1118,14 +1118,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -212,30 +212,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -367,17 +367,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -389,7 +389,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -408,17 +408,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -527,16 +527,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -560,21 +560,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -587,16 +587,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -607,8 +607,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -833,9 +833,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -843,23 +843,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -867,37 +867,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1063,23 +1063,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1103,12 +1103,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1120,14 +1120,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -219,30 +219,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -374,17 +374,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -396,7 +396,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -415,17 +415,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -534,16 +534,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -567,21 +567,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -594,16 +594,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -614,8 +614,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -840,9 +840,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -850,23 +850,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -874,37 +874,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1070,23 +1070,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1110,12 +1110,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1127,14 +1127,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -208,30 +208,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -363,17 +363,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -385,7 +385,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -404,17 +404,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -523,16 +523,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -556,21 +556,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -583,16 +583,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -603,8 +603,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -829,9 +829,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -839,23 +839,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -863,37 +863,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1059,23 +1059,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1099,12 +1099,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1116,14 +1116,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -289,30 +289,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -444,17 +444,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -466,7 +466,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -485,17 +485,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -604,16 +604,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -637,21 +637,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -664,16 +664,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -684,8 +684,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -910,9 +910,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -920,23 +920,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -944,37 +944,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1140,23 +1140,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1180,12 +1180,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1197,14 +1197,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -8553,31 +8553,31 @@
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.tee $2
|
||||
local.tee $1
|
||||
if
|
||||
i32.const 0
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.sub
|
||||
local.set $1
|
||||
local.set $2
|
||||
end
|
||||
local.get $1
|
||||
local.get $2
|
||||
end
|
||||
local.get $1
|
||||
local.get $2
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
call $~lib/util/number/utoa_simple<u32>
|
||||
local.get $0
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $2
|
||||
local.get $1
|
||||
select
|
||||
i32.store16
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.const 2
|
||||
i32.add
|
||||
else
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -157,25 +157,25 @@
|
||||
(local $6 i64)
|
||||
block $~lib/date/Date.UTC|inlined.0 (result i64)
|
||||
i32.const 1970
|
||||
local.set $5
|
||||
i32.const 0
|
||||
local.set $4
|
||||
i32.const 1
|
||||
local.set $3
|
||||
i32.const 0
|
||||
local.set $2
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 0
|
||||
i32.const 1
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.set $3
|
||||
i32.const 0
|
||||
local.set $4
|
||||
i32.const 0
|
||||
local.set $5
|
||||
i64.const 0
|
||||
local.set $6
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
local.get $2
|
||||
local.get $1
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.get $6
|
||||
f64.convert_i64_s
|
||||
call $~lib/bindings/Date/UTC
|
||||
|
@ -235,13 +235,13 @@
|
||||
block $~lib/util/hash/HASH<~lib/string/String>|inlined.1 (result i32)
|
||||
i32.const 24
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $0
|
||||
local.get $0
|
||||
call $~lib/util/hash/hashStr
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $1
|
||||
call $~lib/util/hash/hashStr
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $0
|
||||
br $~lib/util/hash/HASH<~lib/string/String>|inlined.1
|
||||
end
|
||||
call $std/hash/check
|
||||
@ -263,13 +263,13 @@
|
||||
block $~lib/util/hash/HASH<~lib/string/String>|inlined.3 (result i32)
|
||||
i32.const 64
|
||||
call $~lib/rt/stub/__retain
|
||||
local.set $0
|
||||
local.get $0
|
||||
call $~lib/util/hash/hashStr
|
||||
local.set $1
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $1
|
||||
call $~lib/util/hash/hashStr
|
||||
local.set $0
|
||||
local.get $1
|
||||
call $~lib/rt/stub/__release
|
||||
local.get $0
|
||||
br $~lib/util/hash/HASH<~lib/string/String>|inlined.3
|
||||
end
|
||||
call $std/hash/check
|
||||
|
@ -221,30 +221,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -376,17 +376,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -398,7 +398,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -417,17 +417,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -536,16 +536,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -569,21 +569,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -596,16 +596,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -616,8 +616,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -842,9 +842,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -852,23 +852,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -876,37 +876,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1072,23 +1072,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1112,12 +1112,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1129,14 +1129,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1799,24 +1799,24 @@
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__retain
|
||||
end
|
||||
local.tee $0
|
||||
local.tee $1
|
||||
call $~lib/rt/stub/__retain
|
||||
global.set $std/pointer/one
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#constructor|inlined.1 (result i32)
|
||||
i32.const 0
|
||||
local.set $2
|
||||
i32.const 24
|
||||
local.set $1
|
||||
local.get $1
|
||||
local.set $0
|
||||
local.get $0
|
||||
call $~lib/rt/stub/__retain
|
||||
end
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
call $~lib/rt/stub/__retain
|
||||
global.set $std/pointer/two
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.0 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.set $0
|
||||
local.get $0
|
||||
end
|
||||
i32.const 8
|
||||
i32.eq
|
||||
@ -1831,8 +1831,8 @@
|
||||
end
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.1 (result i32)
|
||||
global.get $std/pointer/two
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.set $0
|
||||
local.get $0
|
||||
end
|
||||
i32.const 24
|
||||
i32.eq
|
||||
@ -1847,24 +1847,24 @@
|
||||
end
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.0 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.set $0
|
||||
local.get $0
|
||||
br $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.0
|
||||
end
|
||||
i32.const 1
|
||||
i32.store
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.1 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.set $0
|
||||
local.get $0
|
||||
br $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.1
|
||||
end
|
||||
i32.const 2
|
||||
i32.store offset=4
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.2 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.set $0
|
||||
local.get $0
|
||||
br $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.2
|
||||
end
|
||||
i32.load
|
||||
@ -1881,8 +1881,8 @@
|
||||
end
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.3 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $2
|
||||
local.get $2
|
||||
local.set $0
|
||||
local.get $0
|
||||
br $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.3
|
||||
end
|
||||
i32.load offset=4
|
||||
@ -1900,7 +1900,7 @@
|
||||
global.get $std/pointer/one
|
||||
global.get $std/pointer/two
|
||||
call $std/pointer/Pointer<std/pointer/Entry>#add
|
||||
local.tee $2
|
||||
local.tee $0
|
||||
call $~lib/rt/stub/__retain
|
||||
global.set $std/pointer/add
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.2 (result i32)
|
||||
@ -1994,8 +1994,8 @@
|
||||
end
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.5 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.set $6
|
||||
local.get $6
|
||||
end
|
||||
i32.const 16
|
||||
i32.eq
|
||||
@ -2062,8 +2062,8 @@
|
||||
global.set $std/pointer/two
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.7 (result i32)
|
||||
global.get $std/pointer/two
|
||||
local.set $7
|
||||
local.get $7
|
||||
local.set $8
|
||||
local.get $8
|
||||
end
|
||||
i32.const 8
|
||||
i32.eq
|
||||
@ -2096,8 +2096,8 @@
|
||||
end
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.5 (result i32)
|
||||
global.get $std/pointer/two
|
||||
local.set $7
|
||||
local.get $7
|
||||
local.set $8
|
||||
local.get $8
|
||||
br $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.5
|
||||
end
|
||||
i32.load offset=4
|
||||
@ -2122,8 +2122,8 @@
|
||||
call $std/pointer/Pointer<std/pointer/Entry>#set:value
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.8 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $7
|
||||
local.get $7
|
||||
local.set $8
|
||||
local.get $8
|
||||
end
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.9 (result i32)
|
||||
global.get $std/pointer/two
|
||||
@ -2142,8 +2142,8 @@
|
||||
end
|
||||
block $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.7 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $7
|
||||
local.get $7
|
||||
local.set $8
|
||||
local.get $8
|
||||
br $std/pointer/Pointer<std/pointer/Entry>#get:value|inlined.7
|
||||
end
|
||||
i32.load
|
||||
@ -2177,11 +2177,11 @@
|
||||
unreachable
|
||||
end
|
||||
block $std/pointer/Pointer<f32>#constructor|inlined.0 (result i32)
|
||||
i32.const 0
|
||||
local.set $8
|
||||
i32.const 0
|
||||
local.set $7
|
||||
local.get $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $8
|
||||
call $~lib/rt/stub/__retain
|
||||
end
|
||||
local.tee $7
|
||||
|
@ -221,30 +221,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -376,17 +376,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -398,7 +398,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -417,17 +417,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -536,16 +536,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -569,21 +569,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -596,16 +596,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -616,8 +616,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -842,9 +842,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -852,23 +852,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -876,37 +876,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1072,23 +1072,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1112,12 +1112,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1129,14 +1129,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
|
@ -4954,31 +4954,31 @@
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.tee $2
|
||||
local.tee $1
|
||||
if
|
||||
i32.const 0
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.sub
|
||||
local.set $1
|
||||
local.set $2
|
||||
end
|
||||
local.get $1
|
||||
local.get $2
|
||||
end
|
||||
local.get $1
|
||||
local.get $2
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $1
|
||||
local.tee $2
|
||||
call $~lib/util/number/utoa_simple<u32>
|
||||
local.get $0
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $2
|
||||
local.get $1
|
||||
select
|
||||
i32.store16
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.const 2
|
||||
i32.add
|
||||
else
|
||||
@ -8695,11 +8695,11 @@
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $10
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $11
|
||||
local.get $13
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $12
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $13
|
||||
local.get $11
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $14
|
||||
call $~lib/rt/pure/__release
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -284,30 +284,30 @@
|
||||
i32.add
|
||||
i32.load offset=4
|
||||
end
|
||||
local.set $8
|
||||
local.set $9
|
||||
block $~lib/rt/tlsf/SETSL|inlined.1
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
i32.const 1
|
||||
local.get $5
|
||||
i32.shl
|
||||
i32.const -1
|
||||
i32.xor
|
||||
i32.and
|
||||
local.tee $8
|
||||
local.set $9
|
||||
local.tee $9
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $11
|
||||
local.get $10
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $9
|
||||
local.get $10
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $8
|
||||
local.get $9
|
||||
i32.eqz
|
||||
if
|
||||
local.get $0
|
||||
@ -439,17 +439,17 @@
|
||||
if
|
||||
block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32)
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $3
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.sub
|
||||
i32.load
|
||||
end
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.load
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.load
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.and
|
||||
i32.eqz
|
||||
@ -461,7 +461,7 @@
|
||||
call $~lib/builtins/abort
|
||||
unreachable
|
||||
end
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.const -1
|
||||
i32.xor
|
||||
@ -480,17 +480,17 @@
|
||||
i32.lt_u
|
||||
if
|
||||
local.get $0
|
||||
local.get $3
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $3
|
||||
local.get $6
|
||||
call $~lib/rt/tlsf/removeBlock
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.get $7
|
||||
i32.or
|
||||
local.tee $2
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.set $1
|
||||
end
|
||||
end
|
||||
@ -599,16 +599,16 @@
|
||||
end
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.get $10
|
||||
local.set $7
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -632,21 +632,21 @@
|
||||
local.get $0
|
||||
local.set $12
|
||||
local.get $9
|
||||
local.set $3
|
||||
local.get $10
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.set $7
|
||||
local.get $10
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $12
|
||||
local.get $3
|
||||
local.get $7
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $6
|
||||
local.get $3
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $0
|
||||
@ -659,16 +659,16 @@
|
||||
i32.store
|
||||
block $~lib/rt/tlsf/SETSL|inlined.2
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.set $13
|
||||
local.get $9
|
||||
local.set $6
|
||||
local.set $12
|
||||
block $~lib/rt/tlsf/GETSL|inlined.1 (result i32)
|
||||
local.get $0
|
||||
local.set $13
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.set $12
|
||||
local.get $13
|
||||
local.get $12
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -679,8 +679,8 @@
|
||||
i32.shl
|
||||
i32.or
|
||||
local.set $7
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $13
|
||||
local.get $12
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -905,9 +905,9 @@
|
||||
end
|
||||
block $break|0
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $5
|
||||
loop $repeat|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 23
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -915,23 +915,23 @@
|
||||
block $~lib/rt/tlsf/SETSL|inlined.0
|
||||
local.get $3
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.store offset=4
|
||||
end
|
||||
block $break|1
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $7
|
||||
loop $repeat|1
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 16
|
||||
i32.lt_u
|
||||
i32.eqz
|
||||
@ -939,37 +939,37 @@
|
||||
block $~lib/rt/tlsf/SETHEAD|inlined.0
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $7
|
||||
i32.const 0
|
||||
local.set $8
|
||||
local.get $7
|
||||
local.set $6
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.store offset=96
|
||||
end
|
||||
local.get $5
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.set $7
|
||||
br $repeat|1
|
||||
unreachable
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
br $repeat|0
|
||||
unreachable
|
||||
end
|
||||
@ -1135,23 +1135,23 @@
|
||||
i32.add
|
||||
i32.shl
|
||||
i32.and
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
local.set $7
|
||||
else
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.ctz
|
||||
local.set $2
|
||||
block $~lib/rt/tlsf/GETSL|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $8
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.shl
|
||||
i32.add
|
||||
@ -1175,12 +1175,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $5
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.shl
|
||||
@ -1192,14 +1192,14 @@
|
||||
else
|
||||
block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32)
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.set $8
|
||||
local.get $6
|
||||
i32.ctz
|
||||
local.set $4
|
||||
local.get $9
|
||||
local.get $8
|
||||
local.get $5
|
||||
i32.const 4
|
||||
i32.shl
|
||||
local.get $4
|
||||
@ -6893,28 +6893,28 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Int64Array#reduce<i64> (; 107 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64)
|
||||
(local $3 i32)
|
||||
(local $3 i64)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i32)
|
||||
(local $9 i64)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
block
|
||||
i32.const 0
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Int64Array#get:length
|
||||
local.set $8
|
||||
end
|
||||
@ -6927,7 +6927,7 @@
|
||||
block (result i64)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 3
|
||||
@ -6935,11 +6935,11 @@
|
||||
i32.add
|
||||
i64.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$jjjii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
@ -6949,9 +6949,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $9
|
||||
)
|
||||
@ -7037,28 +7037,28 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Uint64Array#reduce<u64> (; 111 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64)
|
||||
(local $3 i32)
|
||||
(local $3 i64)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i32)
|
||||
(local $9 i64)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
block
|
||||
i32.const 0
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Uint64Array#get:length
|
||||
local.set $8
|
||||
end
|
||||
@ -7071,7 +7071,7 @@
|
||||
block (result i64)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 3
|
||||
@ -7079,11 +7079,11 @@
|
||||
i32.add
|
||||
i64.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$jjjii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
@ -7093,9 +7093,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $9
|
||||
)
|
||||
@ -7181,28 +7181,28 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Float32Array#reduce<f32> (; 115 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32)
|
||||
(local $3 i32)
|
||||
(local $3 f32)
|
||||
(local $4 i32)
|
||||
(local $5 f32)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i32)
|
||||
(local $9 f32)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
block
|
||||
i32.const 0
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Float32Array#get:length
|
||||
local.set $8
|
||||
end
|
||||
@ -7215,7 +7215,7 @@
|
||||
block (result f32)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 2
|
||||
@ -7223,11 +7223,11 @@
|
||||
i32.add
|
||||
f32.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$fffii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
@ -7237,9 +7237,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $9
|
||||
)
|
||||
@ -7301,28 +7301,28 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Float64Array#reduce<f64> (; 118 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64)
|
||||
(local $3 i32)
|
||||
(local $3 f64)
|
||||
(local $4 i32)
|
||||
(local $5 f64)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i32)
|
||||
(local $9 f64)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
block
|
||||
i32.const 0
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Float64Array#get:length
|
||||
local.set $8
|
||||
end
|
||||
@ -7335,7 +7335,7 @@
|
||||
block (result f64)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 3
|
||||
@ -7343,11 +7343,11 @@
|
||||
i32.add
|
||||
f64.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$dddii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.add
|
||||
@ -7357,9 +7357,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $9
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $9
|
||||
)
|
||||
@ -8247,24 +8247,24 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Int64Array#reduceRight<i64> (; 142 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64)
|
||||
(local $3 i32)
|
||||
(local $3 i64)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i64)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Int64Array#get:length
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8278,7 +8278,7 @@
|
||||
block (result i64)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 3
|
||||
@ -8286,11 +8286,11 @@
|
||||
i32.add
|
||||
i64.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$jjjii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8300,9 +8300,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $8
|
||||
)
|
||||
@ -8364,24 +8364,24 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Uint64Array#reduceRight<u64> (; 145 ;) (type $FUNCSIG$jiij) (param $0 i32) (param $1 i32) (param $2 i64) (result i64)
|
||||
(local $3 i32)
|
||||
(local $3 i64)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i64)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Uint64Array#get:length
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8395,7 +8395,7 @@
|
||||
block (result i64)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 3
|
||||
@ -8403,11 +8403,11 @@
|
||||
i32.add
|
||||
i64.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$jjjii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8417,9 +8417,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $8
|
||||
)
|
||||
@ -8481,24 +8481,24 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Float32Array#reduceRight<f32> (; 148 ;) (type $FUNCSIG$fiif) (param $0 i32) (param $1 i32) (param $2 f32) (result f32)
|
||||
(local $3 i32)
|
||||
(local $3 f32)
|
||||
(local $4 i32)
|
||||
(local $5 f32)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 f32)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Float32Array#get:length
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8512,7 +8512,7 @@
|
||||
block (result f32)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 2
|
||||
@ -8520,11 +8520,11 @@
|
||||
i32.add
|
||||
f32.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$fffii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8534,9 +8534,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $8
|
||||
)
|
||||
@ -8598,24 +8598,24 @@
|
||||
local.get $4
|
||||
)
|
||||
(func $~lib/typedarray/Float64Array#reduceRight<f64> (; 151 ;) (type $FUNCSIG$diid) (param $0 i32) (param $1 i32) (param $2 f64) (result f64)
|
||||
(local $3 i32)
|
||||
(local $3 f64)
|
||||
(local $4 i32)
|
||||
(local $5 f64)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 f64)
|
||||
local.get $0
|
||||
call $~lib/rt/pure/__retain
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.load offset=4
|
||||
local.set $6
|
||||
block $break|0
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/typedarray/Float64Array#get:length
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8629,7 +8629,7 @@
|
||||
block (result f64)
|
||||
i32.const 4
|
||||
global.set $~lib/argc
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $6
|
||||
local.get $7
|
||||
i32.const 3
|
||||
@ -8637,11 +8637,11 @@
|
||||
i32.add
|
||||
f64.load
|
||||
local.get $7
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
call_indirect (type $FUNCSIG$dddii)
|
||||
end
|
||||
local.set $5
|
||||
local.set $3
|
||||
local.get $7
|
||||
i32.const 1
|
||||
i32.sub
|
||||
@ -8651,9 +8651,9 @@
|
||||
end
|
||||
unreachable
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.set $8
|
||||
local.get $4
|
||||
local.get $5
|
||||
call $~lib/rt/pure/__release
|
||||
local.get $8
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user