mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-05-10 06:07:21 +00:00
harden / elaborate on makeCallInline
This commit is contained in:
parent
5fb3077064
commit
9b664dc175
@ -4293,7 +4293,7 @@ export function compileBuiltinArraySetWithValue(
|
||||
let linkPrototype = assert(program.linkPrototype);
|
||||
let linkInstance = compiler.resolver.resolveFunction(linkPrototype, [ type, target.type ]);
|
||||
if (!linkInstance) return module.createUnreachable();
|
||||
valueExpr = compiler.makeCallInline(linkInstance, [
|
||||
valueExpr = compiler.makeCallInlinePrechecked(linkInstance, [
|
||||
valueExpr,
|
||||
module.createGetLocal(assert(tempThis).index, nativeSizeType)
|
||||
], 0, true);
|
||||
|
@ -4879,7 +4879,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
// this = (tempThis = this)
|
||||
thisExpr = module.createTeeLocal(tempThis.index, thisExpr);
|
||||
// value = LINK(value, tempThis)
|
||||
valueWithCorrectType = this.makeCallInline(linkInstance, [
|
||||
valueWithCorrectType = this.makeCallInlinePrechecked(linkInstance, [
|
||||
valueWithCorrectType,
|
||||
module.createGetLocal(tempThis.index, this.options.nativeSizeType)
|
||||
], 0, true);
|
||||
@ -5571,7 +5571,12 @@ export class Compiler extends DiagnosticEmitter {
|
||||
var numArguments = argumentExpressions.length;
|
||||
var signature = instance.signature;
|
||||
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],
|
||||
@ -5580,15 +5585,25 @@ export class Compiler extends DiagnosticEmitter {
|
||||
WrapMode.NONE
|
||||
);
|
||||
}
|
||||
return this.makeCallInline(instance, args, thisArg, canAlias);
|
||||
flow.unblockLocals(temps);
|
||||
|
||||
return this.makeCallInlinePrechecked(instance, args, thisArg, canAlias);
|
||||
}
|
||||
|
||||
makeCallInline(
|
||||
makeCallInlinePrechecked(
|
||||
instance: Function,
|
||||
args: ExpressionRef[],
|
||||
thisArg: ExpressionRef = 0,
|
||||
canAlias: 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;
|
||||
|
||||
// Create a new inline flow and use it to compile the function as a block
|
||||
@ -6733,7 +6748,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
this.currentType = arrayType;
|
||||
return module.createUnreachable();
|
||||
}
|
||||
let body = this.makeCallInline(wrapArrayInstance, [
|
||||
let body = this.makeCallInlinePrechecked(wrapArrayInstance, [
|
||||
program.options.isWasm64
|
||||
? this.module.createI64(i64_low(bufferAddress), i64_high(bufferAddress))
|
||||
: this.module.createI32(i64_low(bufferAddress))
|
||||
@ -6793,7 +6808,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
valueExpr = module.createUnreachable();
|
||||
} else {
|
||||
// value = LINK(value, tempThis)
|
||||
valueExpr = this.makeCallInline(linkInstance, [
|
||||
valueExpr = this.makeCallInlinePrechecked(linkInstance, [
|
||||
valueExpr,
|
||||
module.createGetLocal(tempThis.index, nativeArrayType)
|
||||
], 0, true);
|
||||
@ -8029,7 +8044,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
if (classInstance.hasDecorator(DecoratorFlags.UNMANAGED)) {
|
||||
// ALLOCATE_UNMANAGED(sizeof<T>())
|
||||
let allocateInstance = assert(program.allocateUnmanagedInstance);
|
||||
body = this.makeCallInline(allocateInstance, [
|
||||
body = this.makeCallInlinePrechecked(allocateInstance, [
|
||||
options.isWasm64
|
||||
? module.createI64(classInstance.currentMemoryOffset)
|
||||
: module.createI32(classInstance.currentMemoryOffset)
|
||||
@ -8047,8 +8062,8 @@ export class Compiler extends DiagnosticEmitter {
|
||||
this.currentType = classType;
|
||||
return module.createUnreachable();
|
||||
}
|
||||
body = this.makeCallInline(registerInstance, [
|
||||
this.makeCallInline(allocateInstance, [
|
||||
body = this.makeCallInlinePrechecked(registerInstance, [
|
||||
this.makeCallInlinePrechecked(allocateInstance, [
|
||||
options.isWasm64
|
||||
? module.createI64(classInstance.currentMemoryOffset)
|
||||
: module.createI32(classInstance.currentMemoryOffset)
|
||||
|
21
src/flow.ts
21
src/flow.ts
@ -400,6 +400,27 @@ export class Flow {
|
||||
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], false);
|
||||
}
|
||||
var thisType = signature.thisType;
|
||||
if (thisType) temps.push(this.getTempLocal(thisType, false));
|
||||
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) {
|
||||
|
@ -106,7 +106,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -120,7 +120,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -141,7 +141,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -156,7 +156,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -116,7 +116,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -130,7 +130,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -151,7 +151,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -166,7 +166,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -131,7 +131,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -145,7 +145,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -193,7 +193,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -208,7 +208,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -85,7 +85,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -99,7 +99,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -143,7 +143,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -158,7 +158,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
55
tests/compiler/inlining-blocklocals.optimized.wat
Normal file
55
tests/compiler/inlining-blocklocals.optimized.wat
Normal file
@ -0,0 +1,55 @@
|
||||
(module
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(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))
|
||||
(export "memory" (memory $0))
|
||||
(export "table" (table $0))
|
||||
(start $start)
|
||||
(func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
global.get $inlining-blocklocals/b
|
||||
local.tee $0
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $inlining-blocklocals/b
|
||||
i32.const 1
|
||||
global.set $inlining-blocklocals/theCall_a
|
||||
local.get $0
|
||||
global.set $inlining-blocklocals/theCall_b
|
||||
global.get $inlining-blocklocals/theCall_a
|
||||
i32.const 1
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
global.get $inlining-blocklocals/theCall_b
|
||||
i32.const 2
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 17
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start (; 2 ;) (type $FUNCSIG$v)
|
||||
call $inlining-blocklocals/test
|
||||
)
|
||||
(func $null (; 3 ;) (type $FUNCSIG$v)
|
||||
nop
|
||||
)
|
||||
)
|
19
tests/compiler/inlining-blocklocals.ts
Normal file
19
tests/compiler/inlining-blocklocals.ts
Normal file
@ -0,0 +1,19 @@
|
||||
var b: i32 = 2;
|
||||
|
||||
var theCall_a: i32;
|
||||
var theCall_b: i32;
|
||||
|
||||
@inline function theCall(a: i32, b: i32): void {
|
||||
theCall_a = a;
|
||||
theCall_b = b;
|
||||
}
|
||||
|
||||
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++);
|
||||
assert(theCall_a == 1);
|
||||
assert(theCall_b == 2);
|
||||
}
|
||||
test();
|
73
tests/compiler/inlining-blocklocals.untouched.wat
Normal file
73
tests/compiler/inlining-blocklocals.untouched.wat
Normal file
@ -0,0 +1,73 @@
|
||||
(module
|
||||
(type $FUNCSIG$v (func))
|
||||
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
|
||||
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
|
||||
(memory $0 1)
|
||||
(data (i32.const 8) "\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00")
|
||||
(table $0 1 funcref)
|
||||
(elem (i32.const 0) $null)
|
||||
(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 $~lib/memory/HEAP_BASE i32 (i32.const 64))
|
||||
(export "memory" (memory $0))
|
||||
(export "table" (table $0))
|
||||
(start $start)
|
||||
(func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
i32.const 1
|
||||
local.set $0
|
||||
block $inlining-blocklocals/theCall|inlined.0
|
||||
local.get $0
|
||||
local.set $2
|
||||
block (result i32)
|
||||
global.get $inlining-blocklocals/b
|
||||
local.tee $3
|
||||
i32.const 1
|
||||
i32.add
|
||||
global.set $inlining-blocklocals/b
|
||||
local.get $3
|
||||
end
|
||||
local.set $1
|
||||
local.get $2
|
||||
global.set $inlining-blocklocals/theCall_a
|
||||
local.get $1
|
||||
global.set $inlining-blocklocals/theCall_b
|
||||
end
|
||||
global.get $inlining-blocklocals/theCall_a
|
||||
i32.const 1
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 16
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
global.get $inlining-blocklocals/theCall_b
|
||||
i32.const 2
|
||||
i32.eq
|
||||
i32.eqz
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 17
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
)
|
||||
(func $start:inlining-blocklocals (; 2 ;) (type $FUNCSIG$v)
|
||||
call $inlining-blocklocals/test
|
||||
)
|
||||
(func $start (; 3 ;) (type $FUNCSIG$v)
|
||||
call $start:inlining-blocklocals
|
||||
)
|
||||
(func $null (; 4 ;) (type $FUNCSIG$v)
|
||||
)
|
||||
)
|
@ -131,7 +131,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -145,7 +145,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -245,11 +245,11 @@
|
||||
end
|
||||
block $inlining/Foo.method_static|inlined.0 (result i32)
|
||||
i32.const 42
|
||||
local.set $2
|
||||
i32.const 2
|
||||
local.set $3
|
||||
local.get $2
|
||||
i32.const 2
|
||||
local.set $2
|
||||
local.get $3
|
||||
local.get $2
|
||||
i32.add
|
||||
end
|
||||
i32.const 44
|
||||
@ -267,12 +267,12 @@
|
||||
local.set $7
|
||||
block $inlining/Foo#method_this|inlined.0 (result i32)
|
||||
local.get $7
|
||||
local.set $3
|
||||
i32.const 43
|
||||
local.set $2
|
||||
i32.const 3
|
||||
local.set $4
|
||||
local.get $3
|
||||
i32.const 43
|
||||
local.set $3
|
||||
i32.const 3
|
||||
local.set $2
|
||||
local.get $4
|
||||
end
|
||||
i32.const 123
|
||||
i32.eq
|
||||
@ -407,7 +407,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -422,7 +422,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -447,13 +447,13 @@
|
||||
(local $5 i32)
|
||||
block $inlining/Bar#constructor|inlined.0 (result i32)
|
||||
i32.const 0
|
||||
local.set $0
|
||||
i32.const 4
|
||||
local.set $1
|
||||
i32.const 4
|
||||
local.set $0
|
||||
block $inlining/Baz#constructor|inlined.0 (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
if (result i32)
|
||||
local.get $0
|
||||
local.get $1
|
||||
else
|
||||
block $~lib/runtime/ALLOCATE|inlined.0 (result i32)
|
||||
i32.const 16
|
||||
@ -466,11 +466,11 @@
|
||||
i32.const 2
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
local.set $2
|
||||
i32.const 2
|
||||
local.set $3
|
||||
i32.const 2
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.eqz
|
||||
if
|
||||
block $~lib/runtime/REGISTER<Baz>|inlined.0 (result i32)
|
||||
@ -485,31 +485,31 @@
|
||||
i32.const 3
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
local.set $2
|
||||
local.set $3
|
||||
end
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.store
|
||||
local.get $2
|
||||
local.get $3
|
||||
i32.const 0
|
||||
i32.store offset=4
|
||||
local.get $2
|
||||
local.get $3
|
||||
end
|
||||
local.get $3
|
||||
i32.store offset=4
|
||||
local.get $2
|
||||
i32.store offset=4
|
||||
local.get $3
|
||||
end
|
||||
local.set $0
|
||||
local.get $0
|
||||
local.set $1
|
||||
local.get $1
|
||||
i32.const 3
|
||||
i32.store offset=8
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.const 0
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
local.get $1
|
||||
i32.store offset=12
|
||||
local.get $0
|
||||
i32.store offset=12
|
||||
local.get $1
|
||||
end
|
||||
local.set $5
|
||||
local.get $5
|
||||
|
@ -57,7 +57,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -72,7 +72,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -302,7 +302,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -316,7 +316,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -457,32 +457,32 @@
|
||||
(local $7 i32)
|
||||
(local $8 i32)
|
||||
(local $9 i64)
|
||||
(local $10 i32)
|
||||
(local $10 i64)
|
||||
(local $11 i64)
|
||||
(local $12 i32)
|
||||
(local $13 i64)
|
||||
(local $13 i32)
|
||||
(local $14 i64)
|
||||
local.get $3
|
||||
local.get $1
|
||||
i64.sub
|
||||
local.set $11
|
||||
local.set $9
|
||||
i64.const 1
|
||||
i32.const 0
|
||||
local.get $4
|
||||
i32.sub
|
||||
local.tee $10
|
||||
local.tee $12
|
||||
i64.extend_i32_s
|
||||
local.tee $13
|
||||
local.tee $1
|
||||
i64.shl
|
||||
local.tee $9
|
||||
local.tee $10
|
||||
i64.const 1
|
||||
i64.sub
|
||||
local.tee $14
|
||||
local.get $3
|
||||
i64.and
|
||||
local.set $1
|
||||
local.set $11
|
||||
local.get $3
|
||||
local.get $13
|
||||
local.get $1
|
||||
i64.shr_u
|
||||
i32.wrap_i64
|
||||
local.tee $6
|
||||
@ -490,14 +490,14 @@
|
||||
local.set $8
|
||||
i32.const 1628
|
||||
i32.load
|
||||
local.set $12
|
||||
local.set $13
|
||||
loop $continue|0
|
||||
local.get $8
|
||||
i32.const 0
|
||||
i32.gt_s
|
||||
if
|
||||
local.get $8
|
||||
local.set $2
|
||||
local.set $4
|
||||
block $break|1
|
||||
block $case10|1
|
||||
block $case9|1
|
||||
@ -513,7 +513,7 @@
|
||||
i32.const 10
|
||||
i32.ne
|
||||
if
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.sub
|
||||
br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case10|1
|
||||
@ -521,7 +521,7 @@
|
||||
local.get $6
|
||||
i32.const 1000000000
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 1000000000
|
||||
i32.rem_u
|
||||
@ -531,7 +531,7 @@
|
||||
local.get $6
|
||||
i32.const 100000000
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 100000000
|
||||
i32.rem_u
|
||||
@ -541,7 +541,7 @@
|
||||
local.get $6
|
||||
i32.const 10000000
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 10000000
|
||||
i32.rem_u
|
||||
@ -551,7 +551,7 @@
|
||||
local.get $6
|
||||
i32.const 1000000
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 1000000
|
||||
i32.rem_u
|
||||
@ -561,7 +561,7 @@
|
||||
local.get $6
|
||||
i32.const 100000
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 100000
|
||||
i32.rem_u
|
||||
@ -571,7 +571,7 @@
|
||||
local.get $6
|
||||
i32.const 10000
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 10000
|
||||
i32.rem_u
|
||||
@ -581,7 +581,7 @@
|
||||
local.get $6
|
||||
i32.const 1000
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 1000
|
||||
i32.rem_u
|
||||
@ -591,7 +591,7 @@
|
||||
local.get $6
|
||||
i32.const 100
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 100
|
||||
i32.rem_u
|
||||
@ -601,7 +601,7 @@
|
||||
local.get $6
|
||||
i32.const 10
|
||||
i32.div_u
|
||||
local.set $4
|
||||
local.set $2
|
||||
local.get $6
|
||||
i32.const 10
|
||||
i32.rem_u
|
||||
@ -609,29 +609,29 @@
|
||||
br $break|1
|
||||
end
|
||||
local.get $6
|
||||
local.set $4
|
||||
local.set $2
|
||||
i32.const 0
|
||||
local.set $6
|
||||
br $break|1
|
||||
end
|
||||
i32.const 0
|
||||
local.set $4
|
||||
local.set $2
|
||||
end
|
||||
local.get $4
|
||||
local.get $2
|
||||
local.get $7
|
||||
i32.or
|
||||
if
|
||||
local.get $7
|
||||
local.tee $2
|
||||
local.tee $4
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $7
|
||||
local.get $2
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.get $4
|
||||
local.get $2
|
||||
i32.const 65535
|
||||
i32.and
|
||||
i32.const 48
|
||||
@ -644,12 +644,12 @@
|
||||
local.set $8
|
||||
local.get $6
|
||||
i64.extend_i32_u
|
||||
local.get $10
|
||||
local.get $12
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
local.get $1
|
||||
local.get $11
|
||||
i64.add
|
||||
local.tee $3
|
||||
local.tee $1
|
||||
local.get $5
|
||||
i64.le_u
|
||||
if
|
||||
@ -657,43 +657,38 @@
|
||||
local.get $8
|
||||
i32.add
|
||||
global.set $~lib/util/number/_K
|
||||
local.get $5
|
||||
local.set $9
|
||||
local.get $3
|
||||
local.set $1
|
||||
local.get $8
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $12
|
||||
local.get $13
|
||||
i32.add
|
||||
i64.load32_u
|
||||
local.get $10
|
||||
local.get $12
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
local.set $3
|
||||
local.get $11
|
||||
local.set $5
|
||||
local.set $10
|
||||
local.get $7
|
||||
local.tee $4
|
||||
i32.const 1
|
||||
i32.sub
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.tee $4
|
||||
local.tee $7
|
||||
i32.load16_u
|
||||
local.set $6
|
||||
loop $continue|2
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.get $5
|
||||
local.get $9
|
||||
i64.lt_u
|
||||
local.tee $0
|
||||
if
|
||||
local.get $9
|
||||
local.get $5
|
||||
local.get $1
|
||||
i64.sub
|
||||
local.get $3
|
||||
local.get $10
|
||||
i64.ge_u
|
||||
local.set $0
|
||||
end
|
||||
@ -701,21 +696,21 @@
|
||||
end
|
||||
if (result i32)
|
||||
local.get $1
|
||||
local.get $3
|
||||
local.get $10
|
||||
i64.add
|
||||
local.get $5
|
||||
local.get $9
|
||||
i64.lt_u
|
||||
local.tee $0
|
||||
if (result i32)
|
||||
local.get $0
|
||||
else
|
||||
local.get $5
|
||||
local.get $9
|
||||
local.get $1
|
||||
i64.sub
|
||||
local.get $1
|
||||
local.get $3
|
||||
local.get $10
|
||||
i64.add
|
||||
local.get $5
|
||||
local.get $9
|
||||
i64.sub
|
||||
i64.gt_u
|
||||
end
|
||||
@ -728,16 +723,16 @@
|
||||
i32.sub
|
||||
local.set $6
|
||||
local.get $1
|
||||
local.get $3
|
||||
local.get $10
|
||||
i64.add
|
||||
local.set $1
|
||||
br $continue|2
|
||||
end
|
||||
end
|
||||
local.get $4
|
||||
local.get $7
|
||||
local.get $6
|
||||
i32.store16
|
||||
local.get $7
|
||||
local.get $4
|
||||
return
|
||||
end
|
||||
br $continue|0
|
||||
@ -748,14 +743,14 @@
|
||||
i64.const 10
|
||||
i64.mul
|
||||
local.set $5
|
||||
local.get $1
|
||||
local.get $11
|
||||
i64.const 10
|
||||
i64.mul
|
||||
local.tee $1
|
||||
local.get $10
|
||||
local.tee $11
|
||||
local.get $12
|
||||
i64.extend_i32_s
|
||||
i64.shr_u
|
||||
local.tee $3
|
||||
local.tee $1
|
||||
local.get $7
|
||||
i64.extend_i32_s
|
||||
i64.or
|
||||
@ -763,16 +758,16 @@
|
||||
i64.ne
|
||||
if
|
||||
local.get $7
|
||||
local.tee $4
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $7
|
||||
local.get $4
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.get $3
|
||||
local.get $1
|
||||
i32.wrap_i64
|
||||
i32.const 65535
|
||||
i32.and
|
||||
@ -784,10 +779,10 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $8
|
||||
local.get $1
|
||||
local.get $11
|
||||
local.get $14
|
||||
i64.and
|
||||
local.tee $1
|
||||
local.tee $11
|
||||
local.get $5
|
||||
i64.ge_u
|
||||
br_if $continue|3
|
||||
@ -796,87 +791,85 @@
|
||||
local.get $8
|
||||
i32.add
|
||||
global.set $~lib/util/number/_K
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $9
|
||||
local.get $11
|
||||
local.set $1
|
||||
i32.const 0
|
||||
local.get $8
|
||||
i32.sub
|
||||
i32.const 2
|
||||
i32.shl
|
||||
local.get $12
|
||||
local.get $13
|
||||
i32.add
|
||||
i64.load32_u
|
||||
local.get $11
|
||||
local.get $9
|
||||
i64.mul
|
||||
local.set $9
|
||||
local.get $7
|
||||
local.tee $6
|
||||
local.tee $2
|
||||
i32.const 1
|
||||
i32.sub
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.tee $4
|
||||
local.tee $7
|
||||
i32.load16_u
|
||||
local.set $7
|
||||
local.set $4
|
||||
loop $continue|4
|
||||
block (result i32)
|
||||
local.get $3
|
||||
local.get $1
|
||||
local.get $9
|
||||
i64.lt_u
|
||||
local.tee $2
|
||||
local.tee $0
|
||||
if
|
||||
local.get $5
|
||||
local.get $3
|
||||
i64.sub
|
||||
local.get $1
|
||||
i64.sub
|
||||
local.get $10
|
||||
i64.ge_u
|
||||
local.set $2
|
||||
local.set $0
|
||||
end
|
||||
local.get $2
|
||||
local.get $0
|
||||
end
|
||||
if (result i32)
|
||||
local.get $1
|
||||
local.get $3
|
||||
local.get $10
|
||||
i64.add
|
||||
local.get $9
|
||||
i64.lt_u
|
||||
local.tee $2
|
||||
local.tee $0
|
||||
if (result i32)
|
||||
local.get $2
|
||||
local.get $0
|
||||
else
|
||||
local.get $9
|
||||
local.get $3
|
||||
local.get $1
|
||||
i64.sub
|
||||
local.get $1
|
||||
local.get $3
|
||||
local.get $10
|
||||
i64.add
|
||||
local.get $9
|
||||
i64.sub
|
||||
i64.gt_u
|
||||
end
|
||||
else
|
||||
local.get $2
|
||||
local.get $0
|
||||
end
|
||||
if
|
||||
local.get $7
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $7
|
||||
local.set $4
|
||||
local.get $1
|
||||
local.get $3
|
||||
local.get $10
|
||||
i64.add
|
||||
local.set $3
|
||||
local.set $1
|
||||
br $continue|4
|
||||
end
|
||||
end
|
||||
local.get $4
|
||||
local.get $7
|
||||
local.get $4
|
||||
i32.store16
|
||||
local.get $6
|
||||
local.get $2
|
||||
)
|
||||
(func $~lib/util/memory/memcpy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
@ -1972,6 +1965,7 @@
|
||||
(func $~lib/util/number/prettify (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
local.get $2
|
||||
i32.eqz
|
||||
if
|
||||
@ -1991,78 +1985,78 @@
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.add
|
||||
local.tee $3
|
||||
i32.le_s
|
||||
local.tee $4
|
||||
i32.le_s
|
||||
local.tee $3
|
||||
if
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 21
|
||||
i32.le_s
|
||||
local.set $4
|
||||
local.set $3
|
||||
end
|
||||
local.get $4
|
||||
local.get $3
|
||||
if (result i32)
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.set $3
|
||||
loop $repeat|0
|
||||
block $break|0
|
||||
local.get $4
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.ge_s
|
||||
br_if $break|0
|
||||
local.get $4
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
i32.const 48
|
||||
i32.store16
|
||||
local.get $4
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $3
|
||||
br $repeat|0
|
||||
end
|
||||
end
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
i32.const 3145774
|
||||
i32.store
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 2
|
||||
i32.add
|
||||
else
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 0
|
||||
i32.gt_s
|
||||
local.tee $4
|
||||
local.tee $3
|
||||
if
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 21
|
||||
i32.le_s
|
||||
local.set $4
|
||||
local.set $3
|
||||
end
|
||||
local.get $4
|
||||
local.get $3
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
local.tee $4
|
||||
local.tee $3
|
||||
i32.const 2
|
||||
i32.add
|
||||
local.get $4
|
||||
local.get $3
|
||||
i32.const 0
|
||||
local.get $2
|
||||
i32.sub
|
||||
i32.const 1
|
||||
i32.shl
|
||||
call $~lib/memory/memory.copy
|
||||
local.get $4
|
||||
local.get $3
|
||||
i32.const 46
|
||||
i32.store16
|
||||
local.get $1
|
||||
@ -2070,21 +2064,21 @@
|
||||
i32.add
|
||||
else
|
||||
i32.const -6
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.lt_s
|
||||
local.tee $4
|
||||
local.tee $3
|
||||
if
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 0
|
||||
i32.le_s
|
||||
local.set $4
|
||||
local.set $3
|
||||
end
|
||||
local.get $4
|
||||
local.get $3
|
||||
if (result i32)
|
||||
i32.const 2
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.sub
|
||||
local.tee $4
|
||||
local.tee $3
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
@ -2098,29 +2092,29 @@
|
||||
i32.const 3014704
|
||||
i32.store
|
||||
i32.const 2
|
||||
local.set $3
|
||||
local.set $5
|
||||
loop $repeat|1
|
||||
block $break|1
|
||||
local.get $5
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.ge_s
|
||||
br_if $break|1
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.shl
|
||||
local.get $0
|
||||
i32.add
|
||||
i32.const 48
|
||||
i32.store16
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
br $repeat|1
|
||||
end
|
||||
end
|
||||
local.get $1
|
||||
local.get $4
|
||||
local.get $3
|
||||
i32.add
|
||||
else
|
||||
local.get $1
|
||||
@ -2133,9 +2127,9 @@
|
||||
local.get $0
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.tee $4
|
||||
local.tee $5
|
||||
block (result i32)
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.tee $3
|
||||
@ -2156,7 +2150,7 @@
|
||||
i32.add
|
||||
local.tee $2
|
||||
call $~lib/util/number/utoa32_lut
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $0
|
||||
@ -2191,37 +2185,37 @@
|
||||
local.get $0
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.tee $0
|
||||
local.tee $3
|
||||
block (result i32)
|
||||
local.get $3
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.tee $3
|
||||
local.tee $0
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.tee $4
|
||||
local.tee $5
|
||||
if
|
||||
i32.const 0
|
||||
local.get $3
|
||||
local.get $0
|
||||
i32.sub
|
||||
local.set $3
|
||||
local.set $0
|
||||
end
|
||||
local.get $3
|
||||
local.get $0
|
||||
end
|
||||
local.get $3
|
||||
local.get $0
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $2
|
||||
local.tee $0
|
||||
call $~lib/util/number/utoa32_lut
|
||||
local.get $0
|
||||
local.get $3
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $4
|
||||
local.get $5
|
||||
select
|
||||
i32.store16
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.add
|
||||
i32.const 2
|
||||
i32.add
|
||||
@ -2233,8 +2227,8 @@
|
||||
(func $~lib/util/number/dtoa_core (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
|
||||
(local $1 i64)
|
||||
(local $2 i64)
|
||||
(local $3 i64)
|
||||
(local $4 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i64)
|
||||
(local $5 i64)
|
||||
(local $6 i64)
|
||||
(local $7 i64)
|
||||
@ -2260,8 +2254,8 @@
|
||||
f64.add
|
||||
local.tee $9
|
||||
i32.trunc_f64_s
|
||||
local.tee $4
|
||||
local.get $4
|
||||
local.tee $3
|
||||
local.get $3
|
||||
f64.convert_i32_s
|
||||
local.get $9
|
||||
f64.ne
|
||||
@ -2270,7 +2264,7 @@
|
||||
i32.shr_s
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $4
|
||||
local.tee $3
|
||||
i32.const 3
|
||||
i32.shl
|
||||
local.tee $10
|
||||
@ -2284,14 +2278,14 @@
|
||||
global.set $~lib/util/number/_frc_pow
|
||||
i32.const 1556
|
||||
i32.load
|
||||
local.get $4
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.shl
|
||||
i32.add
|
||||
i32.load16_s
|
||||
global.set $~lib/util/number/_exp_pow
|
||||
global.get $~lib/util/number/_frc_pow
|
||||
local.tee $5
|
||||
local.tee $6
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $2
|
||||
@ -2299,7 +2293,7 @@
|
||||
i64.mul
|
||||
i64.const 0
|
||||
i64.add
|
||||
local.tee $3
|
||||
local.tee $4
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.const 0
|
||||
@ -2308,34 +2302,34 @@
|
||||
i64.add
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $6
|
||||
local.tee $7
|
||||
i64.const 2147483648
|
||||
i64.mul
|
||||
local.get $3
|
||||
local.get $4
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
i64.add
|
||||
local.set $11
|
||||
local.get $7
|
||||
global.get $~lib/util/number/_frc_plus
|
||||
local.tee $3
|
||||
local.tee $4
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $7
|
||||
local.get $6
|
||||
local.tee $5
|
||||
i64.mul
|
||||
local.get $2
|
||||
local.tee $1
|
||||
local.get $3
|
||||
local.get $4
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $2
|
||||
i64.mul
|
||||
local.get $1
|
||||
local.get $7
|
||||
local.get $5
|
||||
i64.mul
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
@ -2349,16 +2343,16 @@
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $2
|
||||
local.get $6
|
||||
local.get $7
|
||||
i64.mul
|
||||
local.get $1
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
i64.add
|
||||
local.set $1
|
||||
local.get $5
|
||||
local.tee $3
|
||||
local.set $5
|
||||
local.get $6
|
||||
local.tee $1
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $2
|
||||
@ -2366,27 +2360,27 @@
|
||||
local.get $0
|
||||
local.get $11
|
||||
global.get $~lib/util/number/_exp_pow
|
||||
local.tee $4
|
||||
local.tee $3
|
||||
i32.const 2
|
||||
i32.add
|
||||
local.get $1
|
||||
local.get $5
|
||||
i64.const 1
|
||||
i64.sub
|
||||
local.tee $5
|
||||
local.get $4
|
||||
local.tee $6
|
||||
local.get $3
|
||||
local.get $8
|
||||
i32.add
|
||||
i32.const -64
|
||||
i32.sub
|
||||
local.get $5
|
||||
local.get $6
|
||||
local.get $1
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $5
|
||||
global.get $~lib/util/number/_frc_minus
|
||||
local.tee $1
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.tee $6
|
||||
local.get $3
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.tee $7
|
||||
i64.mul
|
||||
local.get $2
|
||||
@ -2396,12 +2390,12 @@
|
||||
local.tee $1
|
||||
i64.mul
|
||||
local.get $2
|
||||
local.get $6
|
||||
local.get $7
|
||||
i64.mul
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.tee $3
|
||||
local.tee $4
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@ -2410,9 +2404,9 @@
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.get $1
|
||||
local.get $7
|
||||
local.get $5
|
||||
i64.mul
|
||||
local.get $3
|
||||
local.get $4
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
|
@ -399,7 +399,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -414,7 +414,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 464
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -470,14 +470,14 @@
|
||||
local.set $4
|
||||
block $~lib/util/number/utoa32_core|inlined.0
|
||||
local.get $4
|
||||
local.set $3
|
||||
local.set $6
|
||||
local.get $0
|
||||
local.set $5
|
||||
local.get $2
|
||||
local.set $6
|
||||
local.get $3
|
||||
local.get $5
|
||||
local.set $3
|
||||
local.get $6
|
||||
local.get $5
|
||||
local.get $3
|
||||
call $~lib/util/number/utoa32_lut
|
||||
end
|
||||
local.get $1
|
||||
@ -488,8 +488,8 @@
|
||||
end
|
||||
block $~lib/runtime/REGISTER<String>|inlined.0 (result i32)
|
||||
local.get $4
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $3
|
||||
local.get $3
|
||||
i32.const 1
|
||||
call $~lib/runtime/doRegister
|
||||
end
|
||||
@ -931,13 +931,13 @@
|
||||
global.set $~lib/util/number/_K
|
||||
block $~lib/util/number/grisuRound|inlined.0
|
||||
local.get $0
|
||||
local.set $18
|
||||
local.get $15
|
||||
local.set $20
|
||||
local.get $15
|
||||
local.set $18
|
||||
local.get $5
|
||||
local.set $21
|
||||
local.set $24
|
||||
local.get $19
|
||||
local.set $22
|
||||
local.set $23
|
||||
local.get $16
|
||||
local.get $14
|
||||
i32.const 2
|
||||
@ -947,11 +947,11 @@
|
||||
local.get $7
|
||||
i64.extend_i32_s
|
||||
i64.shl
|
||||
local.set $23
|
||||
local.set $22
|
||||
local.get $10
|
||||
local.set $24
|
||||
local.get $18
|
||||
local.set $21
|
||||
local.get $20
|
||||
local.get $18
|
||||
i32.const 1
|
||||
i32.sub
|
||||
i32.const 1
|
||||
@ -963,37 +963,37 @@
|
||||
local.set $26
|
||||
block $break|2
|
||||
loop $continue|2
|
||||
local.get $22
|
||||
local.get $24
|
||||
local.get $23
|
||||
local.get $21
|
||||
i64.lt_u
|
||||
local.tee $27
|
||||
if (result i32)
|
||||
local.get $21
|
||||
local.get $22
|
||||
i64.sub
|
||||
local.get $24
|
||||
local.get $23
|
||||
i64.sub
|
||||
local.get $22
|
||||
i64.ge_u
|
||||
else
|
||||
local.get $27
|
||||
end
|
||||
local.tee $27
|
||||
if (result i32)
|
||||
local.get $22
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $24
|
||||
local.get $21
|
||||
i64.lt_u
|
||||
local.tee $27
|
||||
if (result i32)
|
||||
local.get $27
|
||||
else
|
||||
local.get $24
|
||||
local.get $22
|
||||
i64.sub
|
||||
local.get $22
|
||||
local.get $21
|
||||
local.get $23
|
||||
i64.sub
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $24
|
||||
local.get $21
|
||||
i64.sub
|
||||
i64.gt_u
|
||||
end
|
||||
@ -1006,10 +1006,10 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $26
|
||||
local.get $22
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
local.set $22
|
||||
local.set $23
|
||||
end
|
||||
br $continue|2
|
||||
end
|
||||
@ -1101,9 +1101,9 @@
|
||||
local.set $10
|
||||
block $~lib/util/number/grisuRound|inlined.1
|
||||
local.get $0
|
||||
local.set $17
|
||||
local.get $15
|
||||
local.set $26
|
||||
local.get $15
|
||||
local.set $17
|
||||
local.get $5
|
||||
local.set $24
|
||||
local.get $13
|
||||
@ -1112,8 +1112,8 @@
|
||||
local.set $22
|
||||
local.get $10
|
||||
local.set $21
|
||||
local.get $17
|
||||
local.get $26
|
||||
local.get $17
|
||||
i32.const 1
|
||||
i32.sub
|
||||
i32.const 1
|
||||
@ -1122,13 +1122,13 @@
|
||||
local.set $25
|
||||
local.get $25
|
||||
i32.load16_u
|
||||
local.set $20
|
||||
local.set $18
|
||||
block $break|4
|
||||
loop $continue|4
|
||||
local.get $23
|
||||
local.get $21
|
||||
i64.lt_u
|
||||
local.tee $18
|
||||
local.tee $20
|
||||
if (result i32)
|
||||
local.get $24
|
||||
local.get $23
|
||||
@ -1136,18 +1136,18 @@
|
||||
local.get $22
|
||||
i64.ge_u
|
||||
else
|
||||
local.get $18
|
||||
local.get $20
|
||||
end
|
||||
local.tee $18
|
||||
local.tee $20
|
||||
if (result i32)
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $21
|
||||
i64.lt_u
|
||||
local.tee $18
|
||||
local.tee $20
|
||||
if (result i32)
|
||||
local.get $18
|
||||
local.get $20
|
||||
else
|
||||
local.get $21
|
||||
local.get $23
|
||||
@ -1160,14 +1160,14 @@
|
||||
i64.gt_u
|
||||
end
|
||||
else
|
||||
local.get $18
|
||||
local.get $20
|
||||
end
|
||||
if
|
||||
block
|
||||
local.get $20
|
||||
local.get $18
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $20
|
||||
local.set $18
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
@ -1178,7 +1178,7 @@
|
||||
end
|
||||
end
|
||||
local.get $25
|
||||
local.get $20
|
||||
local.get $18
|
||||
i32.store16
|
||||
end
|
||||
local.get $15
|
||||
@ -2394,6 +2394,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -2406,9 +2408,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -2453,19 +2455,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -2510,19 +2512,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -2821,40 +2823,40 @@
|
||||
local.get $0
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $4
|
||||
local.set $5
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.set $4
|
||||
local.get $4
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.set $6
|
||||
local.get $6
|
||||
if
|
||||
i32.const 0
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.sub
|
||||
local.set $5
|
||||
local.set $4
|
||||
end
|
||||
local.get $5
|
||||
local.get $4
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $7
|
||||
block $~lib/util/number/utoa32_core|inlined.1
|
||||
local.get $4
|
||||
local.set $8
|
||||
local.get $5
|
||||
local.set $10
|
||||
local.get $4
|
||||
local.set $9
|
||||
local.get $7
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.get $9
|
||||
local.set $8
|
||||
local.get $10
|
||||
local.get $9
|
||||
local.get $8
|
||||
call $~lib/util/number/utoa32_lut
|
||||
end
|
||||
local.get $4
|
||||
local.get $5
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $6
|
||||
@ -2897,46 +2899,46 @@
|
||||
i32.add
|
||||
i32.const 4
|
||||
i32.add
|
||||
local.set $6
|
||||
local.set $4
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.set $6
|
||||
local.get $6
|
||||
i32.const 0
|
||||
i32.lt_s
|
||||
local.set $4
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $5
|
||||
if
|
||||
i32.const 0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i32.sub
|
||||
local.set $5
|
||||
local.set $6
|
||||
end
|
||||
local.get $5
|
||||
local.get $6
|
||||
call $~lib/util/number/decimalCount32
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $10
|
||||
local.set $8
|
||||
block $~lib/util/number/utoa32_core|inlined.2
|
||||
local.get $6
|
||||
local.set $9
|
||||
local.get $5
|
||||
local.set $8
|
||||
local.get $10
|
||||
local.get $4
|
||||
local.set $11
|
||||
local.get $9
|
||||
local.get $6
|
||||
local.set $10
|
||||
local.get $8
|
||||
local.set $9
|
||||
local.get $11
|
||||
local.get $10
|
||||
local.get $9
|
||||
call $~lib/util/number/utoa32_lut
|
||||
end
|
||||
local.get $6
|
||||
local.get $4
|
||||
i32.const 45
|
||||
i32.const 43
|
||||
local.get $4
|
||||
local.get $5
|
||||
select
|
||||
i32.store16
|
||||
local.get $10
|
||||
local.get $8
|
||||
end
|
||||
i32.add
|
||||
local.set $1
|
||||
@ -2999,9 +3001,9 @@
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $0
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $2
|
||||
local.set $4
|
||||
local.get $3
|
||||
i64.reinterpret_f64
|
||||
local.set $6
|
||||
@ -3159,22 +3161,22 @@
|
||||
local.set $14
|
||||
block $~lib/util/number/umul64f|inlined.0 (result i64)
|
||||
local.get $9
|
||||
local.set $10
|
||||
local.get $12
|
||||
local.set $17
|
||||
local.get $10
|
||||
local.get $12
|
||||
local.set $10
|
||||
local.get $17
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $18
|
||||
local.get $17
|
||||
local.get $10
|
||||
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 $10
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $21
|
||||
@ -3221,53 +3223,53 @@
|
||||
local.set $24
|
||||
block $~lib/util/number/umul64e|inlined.0 (result i32)
|
||||
local.get $7
|
||||
local.set $15
|
||||
local.get $14
|
||||
local.set $11
|
||||
local.get $15
|
||||
local.get $14
|
||||
local.set $15
|
||||
local.get $11
|
||||
local.get $15
|
||||
i32.add
|
||||
i32.const 64
|
||||
i32.add
|
||||
end
|
||||
local.set $11
|
||||
local.set $15
|
||||
block $~lib/util/number/umul64f|inlined.1 (result i64)
|
||||
global.get $~lib/util/number/_frc_plus
|
||||
local.set $23
|
||||
local.get $12
|
||||
local.set $22
|
||||
local.get $23
|
||||
local.get $12
|
||||
local.set $23
|
||||
local.get $22
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $21
|
||||
local.get $22
|
||||
local.get $23
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
local.set $20
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $19
|
||||
local.get $22
|
||||
local.get $23
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $18
|
||||
local.get $21
|
||||
local.get $20
|
||||
i64.mul
|
||||
local.set $17
|
||||
local.set $10
|
||||
local.get $19
|
||||
local.get $20
|
||||
i64.mul
|
||||
local.get $17
|
||||
local.get $10
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.set $10
|
||||
local.set $17
|
||||
local.get $21
|
||||
local.get $18
|
||||
i64.mul
|
||||
local.get $10
|
||||
local.get $17
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@ -3276,10 +3278,10 @@
|
||||
i64.const 2147483647
|
||||
i64.add
|
||||
local.set $25
|
||||
local.get $10
|
||||
local.get $17
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $10
|
||||
local.set $17
|
||||
local.get $25
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
@ -3287,7 +3289,7 @@
|
||||
local.get $19
|
||||
local.get $18
|
||||
i64.mul
|
||||
local.get $10
|
||||
local.get $17
|
||||
i64.add
|
||||
local.get $25
|
||||
i64.add
|
||||
@ -3297,16 +3299,16 @@
|
||||
local.set $25
|
||||
block $~lib/util/number/umul64e|inlined.1 (result i32)
|
||||
global.get $~lib/util/number/_exp
|
||||
local.set $15
|
||||
local.get $14
|
||||
local.set $26
|
||||
local.get $15
|
||||
local.get $14
|
||||
local.set $11
|
||||
local.get $26
|
||||
local.get $11
|
||||
i32.add
|
||||
i32.const 64
|
||||
i32.add
|
||||
end
|
||||
local.set $26
|
||||
local.set $11
|
||||
block $~lib/util/number/umul64f|inlined.2 (result i64)
|
||||
global.get $~lib/util/number/_frc_minus
|
||||
local.set $10
|
||||
@ -3331,19 +3333,19 @@
|
||||
local.get $18
|
||||
local.get $19
|
||||
i64.mul
|
||||
local.set $22
|
||||
local.set $23
|
||||
local.get $20
|
||||
local.get $19
|
||||
i64.mul
|
||||
local.get $22
|
||||
local.get $23
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
i64.add
|
||||
local.set $23
|
||||
local.set $22
|
||||
local.get $18
|
||||
local.get $21
|
||||
i64.mul
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.const 4294967295
|
||||
i64.and
|
||||
i64.add
|
||||
@ -3352,10 +3354,10 @@
|
||||
i64.const 2147483647
|
||||
i64.add
|
||||
local.set $27
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
local.set $23
|
||||
local.set $22
|
||||
local.get $27
|
||||
i64.const 32
|
||||
i64.shr_u
|
||||
@ -3363,7 +3365,7 @@
|
||||
local.get $20
|
||||
local.get $21
|
||||
i64.mul
|
||||
local.get $23
|
||||
local.get $22
|
||||
i64.add
|
||||
local.get $27
|
||||
i64.add
|
||||
@ -3374,14 +3376,14 @@
|
||||
local.get $25
|
||||
local.get $27
|
||||
i64.sub
|
||||
local.set $23
|
||||
local.get $4
|
||||
local.get $24
|
||||
local.get $11
|
||||
local.get $25
|
||||
local.get $26
|
||||
local.get $23
|
||||
local.set $22
|
||||
local.get $5
|
||||
local.get $24
|
||||
local.get $15
|
||||
local.get $25
|
||||
local.get $11
|
||||
local.get $22
|
||||
local.get $4
|
||||
call $~lib/util/number/genDigits
|
||||
end
|
||||
local.set $28
|
||||
|
@ -106,7 +106,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -120,7 +120,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -143,7 +143,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -158,7 +158,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -100,7 +100,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -114,7 +114,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -150,7 +150,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -165,7 +165,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -1398,9 +1398,9 @@
|
||||
i32.const 42
|
||||
local.set $0
|
||||
i32.const 0
|
||||
global.get $std/allocator_arena/ptr1
|
||||
local.tee $1
|
||||
global.get $std/allocator_arena/ptr2
|
||||
local.tee $1
|
||||
global.get $std/allocator_arena/ptr1
|
||||
local.tee $2
|
||||
i32.eq
|
||||
br_if $~lib/util/memory/memcmp|inlined.0
|
||||
@ -1411,10 +1411,10 @@
|
||||
i32.ne
|
||||
local.tee $3
|
||||
if (result i32)
|
||||
local.get $1
|
||||
i32.load8_u
|
||||
local.get $2
|
||||
i32.load8_u
|
||||
local.get $1
|
||||
i32.load8_u
|
||||
i32.eq
|
||||
else
|
||||
local.get $3
|
||||
@ -1424,23 +1424,23 @@
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $0
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $2
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $2
|
||||
local.get $1
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
br $continue|2
|
||||
end
|
||||
end
|
||||
local.get $0
|
||||
if (result i32)
|
||||
local.get $1
|
||||
i32.load8_u
|
||||
local.get $2
|
||||
i32.load8_u
|
||||
local.get $1
|
||||
i32.load8_u
|
||||
i32.sub
|
||||
else
|
||||
i32.const 0
|
||||
|
@ -107,7 +107,8 @@
|
||||
(func $~lib/memory/memory.fill (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -183,13 +184,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -303,13 +304,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -319,7 +320,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -328,22 +329,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -1563,6 +1564,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1575,9 +1578,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -1622,19 +1625,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1679,19 +1682,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1911,19 +1914,19 @@
|
||||
end
|
||||
block $~lib/memory/memory.compare|inlined.0 (result i32)
|
||||
global.get $std/allocator_arena/ptr1
|
||||
local.set $0
|
||||
local.set $2
|
||||
global.get $std/allocator_arena/ptr2
|
||||
local.set $1
|
||||
global.get $std/allocator_arena/size
|
||||
local.set $2
|
||||
local.set $0
|
||||
block $~lib/util/memory/memcmp|inlined.0 (result i32)
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $5
|
||||
local.get $3
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $0
|
||||
local.set $3
|
||||
local.get $5
|
||||
local.get $4
|
||||
i32.eq
|
||||
if
|
||||
@ -1932,12 +1935,12 @@
|
||||
end
|
||||
block $break|2
|
||||
loop $continue|2
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.const 0
|
||||
i32.ne
|
||||
local.tee $6
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.load8_u
|
||||
local.get $4
|
||||
i32.load8_u
|
||||
@ -1947,14 +1950,14 @@
|
||||
end
|
||||
if
|
||||
block
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.sub
|
||||
local.set $5
|
||||
local.get $3
|
||||
i32.const 1
|
||||
i32.add
|
||||
i32.sub
|
||||
local.set $3
|
||||
local.get $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $5
|
||||
local.get $4
|
||||
i32.const 1
|
||||
i32.add
|
||||
@ -1964,9 +1967,9 @@
|
||||
end
|
||||
end
|
||||
end
|
||||
local.get $5
|
||||
local.get $3
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.load8_u
|
||||
local.get $4
|
||||
i32.load8_u
|
||||
|
@ -374,7 +374,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 224
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -388,7 +388,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 224
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -436,7 +436,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 224
|
||||
i32.const 233
|
||||
i32.const 251
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -209,7 +209,8 @@
|
||||
(func $~lib/memory/memory.fill (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -285,13 +286,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -405,13 +406,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -421,7 +422,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -430,22 +431,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -470,7 +471,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 224
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -485,7 +486,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 224
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -545,7 +546,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 224
|
||||
i32.const 233
|
||||
i32.const 251
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -326,7 +326,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -340,7 +340,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1552,7 +1552,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 233
|
||||
i32.const 251
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -147,7 +147,8 @@
|
||||
(func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -223,13 +224,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -343,13 +344,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -359,7 +360,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -368,22 +369,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -408,7 +409,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -423,7 +424,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1681,6 +1682,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1693,9 +1696,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -1740,19 +1743,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1797,19 +1800,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -2048,7 +2051,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 233
|
||||
i32.const 251
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -163,7 +163,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -177,7 +177,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -153,7 +153,8 @@
|
||||
(func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -229,13 +230,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -349,13 +350,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -365,7 +366,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -374,22 +375,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -414,7 +415,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -429,7 +430,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -489,7 +490,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 233
|
||||
i32.const 251
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -90,7 +90,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -104,7 +104,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -150,7 +150,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -165,7 +165,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 48
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -230,25 +230,25 @@
|
||||
(local $6 i64)
|
||||
block $~lib/date/Date.UTC|inlined.0 (result i64)
|
||||
i32.const 1970
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 1
|
||||
local.set $2
|
||||
i32.const 0
|
||||
local.set $3
|
||||
local.set $5
|
||||
i32.const 0
|
||||
local.set $4
|
||||
i32.const 1
|
||||
local.set $3
|
||||
i32.const 0
|
||||
local.set $5
|
||||
local.set $2
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 0
|
||||
local.set $0
|
||||
i64.const 0
|
||||
local.set $6
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
local.get $2
|
||||
local.get $1
|
||||
local.get $0
|
||||
local.get $6
|
||||
f64.convert_i64_s
|
||||
call $~lib/bindings/Date/UTC
|
||||
@ -304,25 +304,25 @@
|
||||
end
|
||||
block $~lib/date/Date.UTC|inlined.2 (result i64)
|
||||
i32.const 2018
|
||||
local.set $0
|
||||
i32.const 10
|
||||
local.set $1
|
||||
i32.const 10
|
||||
local.set $2
|
||||
i32.const 11
|
||||
local.set $3
|
||||
i32.const 0
|
||||
local.set $4
|
||||
i32.const 0
|
||||
local.set $5
|
||||
i32.const 10
|
||||
local.set $4
|
||||
i32.const 10
|
||||
local.set $3
|
||||
i32.const 11
|
||||
local.set $2
|
||||
i32.const 0
|
||||
local.set $1
|
||||
i32.const 0
|
||||
local.set $0
|
||||
i64.const 1
|
||||
local.set $6
|
||||
local.get $0
|
||||
local.get $1
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $4
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.get $3
|
||||
local.get $2
|
||||
local.get $1
|
||||
local.get $0
|
||||
local.get $6
|
||||
f64.convert_i64_s
|
||||
call $~lib/bindings/Date/UTC
|
||||
|
@ -3439,22 +3439,22 @@
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
local.get $0
|
||||
local.set $2
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.get $1
|
||||
local.set $2
|
||||
local.get $3
|
||||
local.get $2
|
||||
f64.max
|
||||
)
|
||||
(func $std/libm/min (; 47 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
(local $2 f64)
|
||||
(local $3 f64)
|
||||
local.get $0
|
||||
local.set $2
|
||||
local.get $1
|
||||
local.set $3
|
||||
local.get $2
|
||||
local.get $1
|
||||
local.set $2
|
||||
local.get $3
|
||||
local.get $2
|
||||
f64.min
|
||||
)
|
||||
(func $~lib/math/NativeMath.pow (; 48 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
|
||||
|
@ -123,7 +123,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -137,7 +137,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -156,7 +156,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -171,7 +171,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -190,7 +190,8 @@
|
||||
(func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -266,13 +267,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -386,13 +387,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -402,7 +403,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -411,22 +412,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
|
@ -4696,10 +4696,10 @@
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $10
|
||||
local.get $9
|
||||
local.get $2
|
||||
local.set $9
|
||||
local.get $10
|
||||
i32.const 1305022427
|
||||
i32.lt_u
|
||||
if
|
||||
@ -4727,7 +4727,7 @@
|
||||
block $~lib/math/pio2_large_quot|inlined.0 (result i32)
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
local.get $10
|
||||
local.set $12
|
||||
local.get $12
|
||||
i32.const 23
|
||||
@ -4859,7 +4859,7 @@
|
||||
local.get $23
|
||||
i32.sub
|
||||
local.get $23
|
||||
local.get $10
|
||||
local.get $9
|
||||
select
|
||||
end
|
||||
local.set $24
|
||||
@ -7643,11 +7643,11 @@
|
||||
(local $7 i32)
|
||||
block $~lib/math/NativeMath.max|inlined.0 (result f64)
|
||||
local.get $0
|
||||
local.set $5
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $5
|
||||
local.get $1
|
||||
local.set $5
|
||||
local.get $6
|
||||
local.get $5
|
||||
f64.max
|
||||
end
|
||||
local.get $2
|
||||
@ -7679,11 +7679,11 @@
|
||||
(local $6 f32)
|
||||
block $~lib/math/NativeMathf.max|inlined.0 (result f32)
|
||||
local.get $0
|
||||
local.set $5
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $5
|
||||
local.get $1
|
||||
local.set $5
|
||||
local.get $6
|
||||
local.get $5
|
||||
f32.max
|
||||
end
|
||||
local.get $2
|
||||
@ -7697,11 +7697,11 @@
|
||||
(local $7 i32)
|
||||
block $~lib/math/NativeMath.min|inlined.0 (result f64)
|
||||
local.get $0
|
||||
local.set $5
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $5
|
||||
local.get $1
|
||||
local.set $5
|
||||
local.get $6
|
||||
local.get $5
|
||||
f64.min
|
||||
end
|
||||
local.get $2
|
||||
@ -7733,11 +7733,11 @@
|
||||
(local $6 f32)
|
||||
block $~lib/math/NativeMathf.min|inlined.0 (result f32)
|
||||
local.get $0
|
||||
local.set $5
|
||||
local.get $1
|
||||
local.set $6
|
||||
local.get $5
|
||||
local.get $1
|
||||
local.set $5
|
||||
local.get $6
|
||||
local.get $5
|
||||
f32.min
|
||||
end
|
||||
local.get $2
|
||||
@ -11708,10 +11708,10 @@
|
||||
local.get $0
|
||||
local.set $8
|
||||
local.get $1
|
||||
local.set $9
|
||||
local.get $2
|
||||
local.set $10
|
||||
local.get $9
|
||||
local.get $2
|
||||
local.set $9
|
||||
local.get $10
|
||||
i32.const 1305022427
|
||||
i32.lt_u
|
||||
if
|
||||
@ -11739,7 +11739,7 @@
|
||||
block $~lib/math/pio2_large_quot|inlined.1 (result i32)
|
||||
local.get $8
|
||||
local.set $11
|
||||
local.get $9
|
||||
local.get $10
|
||||
local.set $12
|
||||
local.get $12
|
||||
i32.const 23
|
||||
@ -11871,7 +11871,7 @@
|
||||
local.get $23
|
||||
i32.sub
|
||||
local.get $23
|
||||
local.get $10
|
||||
local.get $9
|
||||
select
|
||||
end
|
||||
local.set $24
|
||||
@ -12700,10 +12700,10 @@
|
||||
local.get $0
|
||||
local.set $11
|
||||
local.get $1
|
||||
local.set $4
|
||||
local.get $2
|
||||
local.set $12
|
||||
local.get $4
|
||||
local.get $2
|
||||
local.set $4
|
||||
local.get $12
|
||||
i32.const 1305022427
|
||||
i32.lt_u
|
||||
if
|
||||
@ -12731,7 +12731,7 @@
|
||||
block $~lib/math/pio2_large_quot|inlined.2 (result i32)
|
||||
local.get $11
|
||||
local.set $13
|
||||
local.get $4
|
||||
local.get $12
|
||||
local.set $14
|
||||
local.get $14
|
||||
i32.const 23
|
||||
@ -12863,7 +12863,7 @@
|
||||
local.get $25
|
||||
i32.sub
|
||||
local.get $25
|
||||
local.get $12
|
||||
local.get $4
|
||||
select
|
||||
end
|
||||
local.set $26
|
||||
|
@ -84,7 +84,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -98,7 +98,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -143,7 +143,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -158,7 +158,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -167,7 +167,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -181,7 +181,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2435,16 +2435,16 @@
|
||||
call $std/operator-overloading/TesterInlineStatic#constructor
|
||||
global.set $std/operator-overloading/ais2
|
||||
global.get $std/operator-overloading/ais1
|
||||
local.tee $0
|
||||
i32.load
|
||||
global.get $std/operator-overloading/ais2
|
||||
local.tee $1
|
||||
i32.load
|
||||
global.get $std/operator-overloading/ais2
|
||||
local.tee $0
|
||||
i32.load
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.load offset=4
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
i32.add
|
||||
call $std/operator-overloading/TesterInlineStatic#constructor
|
||||
global.set $std/operator-overloading/ais
|
||||
@ -2452,14 +2452,14 @@
|
||||
i32.load
|
||||
i32.const 4
|
||||
i32.eq
|
||||
local.tee $1
|
||||
local.tee $0
|
||||
if (result i32)
|
||||
global.get $std/operator-overloading/ais
|
||||
i32.load offset=4
|
||||
i32.const 6
|
||||
i32.eq
|
||||
else
|
||||
local.get $1
|
||||
local.get $0
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
@ -2475,11 +2475,11 @@
|
||||
call $std/operator-overloading/TesterInlineInstance#constructor
|
||||
global.set $std/operator-overloading/aii1
|
||||
global.get $std/operator-overloading/aii1
|
||||
local.tee $1
|
||||
local.tee $0
|
||||
i32.load
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
i32.const 1
|
||||
i32.add
|
||||
|
@ -211,7 +211,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -226,7 +226,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2833,19 +2833,19 @@
|
||||
global.set $std/operator-overloading/ais2
|
||||
block $std/operator-overloading/TesterInlineStatic.add|inlined.0 (result i32)
|
||||
global.get $std/operator-overloading/ais1
|
||||
local.set $0
|
||||
global.get $std/operator-overloading/ais2
|
||||
local.set $1
|
||||
global.get $std/operator-overloading/ais2
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.get $0
|
||||
i32.load
|
||||
local.get $1
|
||||
i32.load
|
||||
local.get $0
|
||||
i32.load
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
local.get $1
|
||||
i32.load offset=4
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
i32.add
|
||||
call $std/operator-overloading/TesterInlineStatic#constructor
|
||||
end
|
||||
@ -2854,14 +2854,14 @@
|
||||
i32.load
|
||||
i32.const 4
|
||||
i32.eq
|
||||
local.tee $1
|
||||
local.tee $0
|
||||
if (result i32)
|
||||
global.get $std/operator-overloading/ais
|
||||
i32.load offset=4
|
||||
i32.const 6
|
||||
i32.eq
|
||||
else
|
||||
local.get $1
|
||||
local.get $0
|
||||
end
|
||||
i32.eqz
|
||||
if
|
||||
@ -2879,13 +2879,13 @@
|
||||
global.set $std/operator-overloading/aii1
|
||||
block $std/operator-overloading/TesterInlineInstance#postInc|inlined.0 (result i32)
|
||||
global.get $std/operator-overloading/aii1
|
||||
local.set $1
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.load offset=4
|
||||
i32.const 1
|
||||
i32.add
|
||||
|
@ -1166,8 +1166,8 @@
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
end
|
||||
global.get $std/pointer/one
|
||||
global.get $std/pointer/two
|
||||
global.get $std/pointer/one
|
||||
i32.add
|
||||
global.set $std/pointer/add
|
||||
global.get $std/pointer/add
|
||||
|
@ -23,7 +23,8 @@
|
||||
(func $~lib/memory/memory.fill (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -99,13 +100,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -219,13 +220,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -235,7 +236,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -244,22 +245,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -1479,6 +1480,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1491,9 +1494,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -1538,19 +1541,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1595,19 +1598,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1742,10 +1745,10 @@
|
||||
(local $2 f32)
|
||||
block $std/pointer/Pointer<Entry>#constructor|inlined.0 (result i32)
|
||||
i32.const 0
|
||||
local.set $0
|
||||
i32.const 8
|
||||
local.set $1
|
||||
local.get $1
|
||||
i32.const 8
|
||||
local.set $0
|
||||
local.get $0
|
||||
end
|
||||
global.set $std/pointer/one
|
||||
block $std/pointer/Pointer<Entry>#constructor|inlined.1 (result i32)
|
||||
@ -1842,18 +1845,18 @@
|
||||
end
|
||||
block $std/pointer/Pointer<Entry>#add|inlined.0 (result i32)
|
||||
global.get $std/pointer/one
|
||||
local.set $0
|
||||
global.get $std/pointer/two
|
||||
local.set $1
|
||||
local.get $0
|
||||
global.get $std/pointer/two
|
||||
local.set $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.add
|
||||
end
|
||||
global.set $std/pointer/add
|
||||
block $std/pointer/Pointer<Entry>#get:offset|inlined.2 (result i32)
|
||||
global.get $std/pointer/add
|
||||
local.set $1
|
||||
local.get $1
|
||||
local.set $0
|
||||
local.get $0
|
||||
end
|
||||
i32.const 32
|
||||
i32.eq
|
||||
@ -2097,11 +2100,11 @@
|
||||
unreachable
|
||||
end
|
||||
block $std/pointer/Pointer<f32>#constructor|inlined.0 (result i32)
|
||||
i32.const 0
|
||||
local.set $0
|
||||
i32.const 0
|
||||
local.set $1
|
||||
local.get $1
|
||||
i32.const 0
|
||||
local.set $0
|
||||
local.get $0
|
||||
end
|
||||
global.set $std/pointer/buf
|
||||
global.get $std/pointer/buf
|
||||
@ -2137,11 +2140,11 @@
|
||||
end
|
||||
block $std/pointer/Pointer<f32>#get|inlined.1 (result f32)
|
||||
global.get $std/pointer/buf
|
||||
local.set $0
|
||||
i32.const 1
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.const 1
|
||||
local.set $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.const 4
|
||||
i32.mul
|
||||
i32.add
|
||||
@ -2183,11 +2186,11 @@
|
||||
end
|
||||
block $std/pointer/Pointer<f32>#get|inlined.3 (result f32)
|
||||
global.get $std/pointer/buf
|
||||
local.set $0
|
||||
i32.const 1
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.const 1
|
||||
local.set $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.const 4
|
||||
i32.mul
|
||||
i32.add
|
||||
@ -2247,11 +2250,11 @@
|
||||
end
|
||||
block $std/pointer/Pointer<f32>#get|inlined.4 (result f32)
|
||||
global.get $std/pointer/buf
|
||||
local.set $0
|
||||
i32.const 2
|
||||
local.set $1
|
||||
local.get $0
|
||||
i32.const 2
|
||||
local.set $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
i32.const 4
|
||||
i32.mul
|
||||
i32.add
|
||||
|
@ -2653,7 +2653,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2667,7 +2667,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -2845,11 +2845,9 @@
|
||||
end
|
||||
global.get $std/runtime/ref1
|
||||
local.tee $1
|
||||
local.get $1
|
||||
global.get $std/runtime/barrier1
|
||||
call $~lib/runtime/doReallocate
|
||||
local.set $2
|
||||
local.get $1
|
||||
local.get $2
|
||||
i32.ne
|
||||
if
|
||||
i32.const 0
|
||||
|
@ -2697,6 +2697,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -2709,9 +2711,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -2756,19 +2758,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -2813,19 +2815,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -2927,7 +2929,8 @@
|
||||
(func $~lib/memory/memory.fill (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -3003,13 +3006,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -3123,13 +3126,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -3139,7 +3142,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -3148,22 +3151,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -3342,7 +3345,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3357,7 +3360,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 232
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -3570,11 +3573,11 @@
|
||||
global.get $std/runtime/ref1
|
||||
block $~lib/runtime/REALLOCATE|inlined.0 (result i32)
|
||||
global.get $std/runtime/ref1
|
||||
local.set $0
|
||||
global.get $std/runtime/barrier1
|
||||
local.set $1
|
||||
local.get $0
|
||||
global.get $std/runtime/barrier1
|
||||
local.set $0
|
||||
local.get $1
|
||||
local.get $0
|
||||
call $~lib/runtime/doReallocate
|
||||
end
|
||||
i32.eq
|
||||
|
@ -119,7 +119,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -133,7 +133,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -156,7 +156,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -171,7 +171,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 16
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -190,7 +190,8 @@
|
||||
(func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -266,13 +267,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -386,13 +387,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -402,7 +403,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -411,22 +412,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
|
@ -1283,6 +1283,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1295,9 +1297,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -1342,19 +1344,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1399,19 +1401,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1513,7 +1515,8 @@
|
||||
(func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -1589,13 +1592,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -1709,13 +1712,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -1725,7 +1728,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -1734,22 +1737,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -1900,23 +1903,23 @@
|
||||
local.set $4
|
||||
block $~lib/runtime/REALLOCATE|inlined.0 (result i32)
|
||||
local.get $3
|
||||
local.set $5
|
||||
local.get $4
|
||||
local.set $6
|
||||
local.get $5
|
||||
local.get $4
|
||||
local.set $5
|
||||
local.get $6
|
||||
local.get $5
|
||||
call $~lib/runtime/doReallocate
|
||||
end
|
||||
local.set $6
|
||||
local.get $6
|
||||
local.set $5
|
||||
local.get $5
|
||||
local.get $3
|
||||
i32.ne
|
||||
if
|
||||
local.get $0
|
||||
local.get $6
|
||||
local.get $5
|
||||
i32.store
|
||||
local.get $0
|
||||
local.get $6
|
||||
local.get $5
|
||||
i32.store offset=4
|
||||
end
|
||||
local.get $0
|
||||
|
@ -1514,7 +1514,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1528,7 +1528,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -1686,6 +1686,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -1698,9 +1700,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -1745,19 +1747,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1802,19 +1804,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -1926,7 +1928,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -1941,7 +1943,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 136
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -143,7 +143,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -157,7 +157,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
@ -201,7 +201,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -216,7 +216,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 72
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -235,7 +235,8 @@
|
||||
(func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i64)
|
||||
(local $5 i32)
|
||||
(local $6 i64)
|
||||
block $~lib/util/memory/memset|inlined.0
|
||||
local.get $2
|
||||
i32.eqz
|
||||
@ -311,13 +312,13 @@
|
||||
i32.sub
|
||||
i32.const 3
|
||||
i32.and
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $2
|
||||
@ -431,13 +432,13 @@
|
||||
i32.const 4
|
||||
i32.and
|
||||
i32.add
|
||||
local.set $3
|
||||
local.set $5
|
||||
local.get $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $2
|
||||
local.get $3
|
||||
local.get $5
|
||||
i32.sub
|
||||
local.set $2
|
||||
local.get $4
|
||||
@ -447,7 +448,7 @@
|
||||
i64.const 32
|
||||
i64.shl
|
||||
i64.or
|
||||
local.set $5
|
||||
local.set $6
|
||||
block $break|0
|
||||
loop $continue|0
|
||||
local.get $2
|
||||
@ -456,22 +457,22 @@
|
||||
if
|
||||
block
|
||||
local.get $0
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 8
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 16
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $0
|
||||
i32.const 24
|
||||
i32.add
|
||||
local.get $5
|
||||
local.get $6
|
||||
i64.store
|
||||
local.get $2
|
||||
i32.const 32
|
||||
@ -2776,6 +2777,8 @@
|
||||
)
|
||||
(func $~lib/memory/memory.copy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
block $~lib/util/memory/memmove|inlined.0
|
||||
local.get $0
|
||||
local.get $1
|
||||
@ -2788,9 +2791,9 @@
|
||||
i32.add
|
||||
local.get $0
|
||||
i32.le_u
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
if (result i32)
|
||||
local.get $3
|
||||
local.get $5
|
||||
else
|
||||
local.get $0
|
||||
local.get $2
|
||||
@ -2835,19 +2838,19 @@
|
||||
local.set $2
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
@ -2892,19 +2895,19 @@
|
||||
block
|
||||
block (result i32)
|
||||
local.get $0
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $0
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
block (result i32)
|
||||
local.get $1
|
||||
local.tee $3
|
||||
local.tee $5
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.set $1
|
||||
local.get $3
|
||||
local.get $5
|
||||
end
|
||||
i32.load8_u
|
||||
i32.store8
|
||||
|
@ -403,7 +403,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 199
|
||||
i32.const 217
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -417,7 +417,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 200
|
||||
i32.const 218
|
||||
i32.const 2
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
@ -465,7 +465,7 @@
|
||||
if
|
||||
i32.const 0
|
||||
i32.const 64
|
||||
i32.const 233
|
||||
i32.const 251
|
||||
i32.const 57
|
||||
call $~lib/env/abort
|
||||
unreachable
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user