1
0
mirror of https://github.com/fluencelabs/assemblyscript synced 2025-06-22 11:11:43 +00:00

Reintroduce builtin decorator so these can appear anywhere in stdlib again

Avoids wrapping an undocumented function within 'memory.size' for example.
This commit is contained in:
dcodeIO
2018-07-19 02:10:04 +02:00
parent 96411c7398
commit 26e46f6f86
80 changed files with 6889 additions and 7157 deletions
examples
src
std/assembly
tests

Binary file not shown.

@ -11,10 +11,10 @@
(global $assembly/index/w (mut i32) (i32.const 0))
(global $assembly/index/h (mut i32) (i32.const 0))
(global $assembly/index/s (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "init" (func $assembly/index/init))
(export "step" (func $assembly/index/step))
(export "fill" (func $assembly/index/fill))
(export "memory" (memory $0))
(func $assembly/index/init (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
;;@ assembly/index.ts:29:2

@ -12,10 +12,10 @@
(global $assembly/index/h (mut i32) (i32.const 0))
(global $assembly/index/s (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 8))
(export "memory" (memory $0))
(export "init" (func $assembly/index/init))
(export "step" (func $assembly/index/step))
(export "fill" (func $assembly/index/fill))
(export "memory" (memory $0))
(func $assembly/index/init (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)

@ -5,6 +5,7 @@
(global $assembly/i64/lo (mut i32) (i32.const 0))
(global $assembly/i64/hi (mut i32) (i32.const 0))
(memory $0 0)
(export "memory" (memory $0))
(export "getLo" (func $assembly/i64/getLo))
(export "getHi" (func $assembly/i64/getHi))
(export "clz" (func $assembly/i64/clz))
@ -36,7 +37,6 @@
(export "gt_u" (func $assembly/i64/gt_u))
(export "ge_s" (func $assembly/i64/ge_s))
(export "ge_u" (func $assembly/i64/ge_u))
(export "memory" (memory $0))
(func $assembly/i64/getLo (; 0 ;) (type $i) (result i32)
;;@ assembly/i64.ts:4:9
(get_global $assembly/i64/lo)

@ -8,6 +8,7 @@
(global $Infinity f64 (f64.const inf))
(global $HEAP_BASE i32 (i32.const 8))
(memory $0 0)
(export "memory" (memory $0))
(export "getLo" (func $assembly/i64/getLo))
(export "getHi" (func $assembly/i64/getHi))
(export "clz" (func $assembly/i64/clz))
@ -39,7 +40,6 @@
(export "gt_u" (func $assembly/i64/gt_u))
(export "ge_s" (func $assembly/i64/ge_s))
(export "ge_u" (func $assembly/i64/ge_u))
(export "memory" (memory $0))
(func $assembly/i64/getLo (; 0 ;) (type $i) (result i32)
;;@ assembly/i64.ts:4:9
(get_global $assembly/i64/lo)

Binary file not shown.

@ -5,8 +5,8 @@
(import "JSMath" "log" (func $~lib/math/JSMath.log (param f64) (result f64)))
(import "JSMath" "LN2" (global $~lib/math/JSMath.LN2 f64))
(import "env" "memory" (memory $0 0))
(export "computeLine" (func $assembly/index/computeLine))
(export "memory" (memory $0))
(export "computeLine" (func $assembly/index/computeLine))
(func $assembly/index/computeLine (; 2 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 f64)
(local $5 f64)

@ -9,18 +9,18 @@
(import "env" "memory" (memory $0 0))
(global $assembly/index/NUM_COLORS i32 (i32.const 2048))
(global $HEAP_BASE i32 (i32.const 8))
(export "computeLine" (func $assembly/index/computeLine))
(export "memory" (memory $0))
(func $isFinite<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
;;@ ~lib/builtins.ts:26:26
(export "computeLine" (func $assembly/index/computeLine))
(func $~lib/builtins/isFinite<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
;;@ ~lib/builtins.ts:16:70
(f64.eq
;;@ ~lib/builtins.ts:26:9
;;@ ~lib/builtins.ts:16:53
(f64.sub
(get_local $0)
;;@ ~lib/builtins.ts:26:17
;;@ ~lib/builtins.ts:16:61
(get_local $0)
)
;;@ ~lib/builtins.ts:26:26
;;@ ~lib/builtins.ts:16:70
(f64.const 0)
)
)
@ -375,7 +375,7 @@
(set_local $17
;;@ assembly/index.ts:37:15
(if (result i32)
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
;;@ assembly/index.ts:37:24
(get_local $15)
)
@ -386,7 +386,7 @@
(f64.convert_s/i32
(i32.sub
;;@ assembly/index.ts:38:15
(i32.const 2048)
(get_global $assembly/index/NUM_COLORS)
;;@ assembly/index.ts:38:28
(i32.const 1)
)
@ -421,7 +421,7 @@
)
;;@ assembly/index.ts:39:8
(i32.sub
(i32.const 2048)
(get_global $assembly/index/NUM_COLORS)
;;@ assembly/index.ts:39:21
(i32.const 1)
)

@ -24,7 +24,6 @@ function asmFunc(global, env, buffer) {
var $lib_allocator_arena_startOffset = 0;
var $lib_allocator_arena_offset = 0;
var assembly_index_system = 0;
var HEAP_BASE = 40;
var i64toi32_i32$HIGH_BITS = 0;
function $lib_allocator_arena___memory_allocate($0) {
$0 = $0 | 0;
@ -81,7 +80,7 @@ function asmFunc(global, env, buffer) {
return $0 | 0;
}
function $lib_memory_memory_fill($0, $1, $2) {
function $lib_memory_memset($0, $1, $2) {
$0 = $0 | 0;
$1 = $1 | 0;
$2 = $2 | 0;
@ -272,7 +271,7 @@ function asmFunc(global, env, buffer) {
wasm2asm_i32$0 = $0;
wasm2asm_i32$1 = $1;
HEAP32[(wasm2asm_i32$0 + 4 | 0) >> 2] = wasm2asm_i32$1;
$lib_memory_memory_fill($3 + 8 | 0 | 0, 0 | 0, $2 | 0);
$lib_memory_memset($3 + 8 | 0 | 0, 0 | 0, $2 | 0);
return $0 | 0;
}
@ -492,7 +491,7 @@ function asmFunc(global, env, buffer) {
}
function start() {
$lib_allocator_arena_startOffset = (HEAP_BASE + 7 | 0) & 4294967288 | 0;
$lib_allocator_arena_startOffset = 40;
$lib_allocator_arena_offset = $lib_allocator_arena_startOffset;
}
@ -522,10 +521,6 @@ function asmFunc(global, env, buffer) {
}
return {
init: assembly_index_init,
getBody: assembly_index_getBody,
step: assembly_index_step,
bench: assembly_index_bench,
memory: Object.create(Object.prototype, {
grow: {
value: __wasm_grow_memory
@ -536,6 +531,10 @@ function asmFunc(global, env, buffer) {
}
}
})
}),
init: assembly_index_init,
getBody: assembly_index_getBody,
step: assembly_index_step,
bench: assembly_index_bench
};
}

Binary file not shown.

@ -13,14 +13,13 @@
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $assembly/index/system (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 40))
(memory $0 1)
(data (i32.const 8) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
(export "memory" (memory $0))
(export "init" (func $assembly/index/init))
(export "getBody" (func $assembly/index/getBody))
(export "step" (func $assembly/index/step))
(export "bench" (func $assembly/index/bench))
(export "memory" (memory $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
@ -150,7 +149,7 @@
)
(get_local $0)
)
(func $~lib/memory/memory.fill (; 3 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 3 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -549,7 +548,7 @@
(get_local $0)
(get_local $1)
)
(call $~lib/memory/memory.fill
(call $~lib/memory/memset
(i32.add
(get_local $3)
(i32.const 8)
@ -1403,13 +1402,7 @@
)
(func $start (; 12 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add
(get_global $HEAP_BASE)
(i32.const 7)
)
(i32.const -8)
)
(i32.const 40)
)
(set_global $~lib/allocator/arena/offset
(get_global $~lib/allocator/arena/startOffset)

File diff suppressed because it is too large Load Diff

@ -22,6 +22,7 @@
(import "pson" "onBinary" (func $assembly/pson/onBinary (param i32 i32)))
(global $assembly/pson/offset (mut i32) (i32.const 0))
(memory $0 0)
(export "memory" (memory $0))
(export "onNull" (func $assembly/pson/onNull))
(export "onTrue" (func $assembly/pson/onTrue))
(export "onFalse" (func $assembly/pson/onFalse))
@ -37,7 +38,6 @@
(export "onString" (func $assembly/pson/onString))
(export "onBinary" (func $assembly/pson/onBinary))
(export "decode" (func $assembly/pson/decode))
(export "memory" (memory $0))
(func $assembly/pson/readVarint32 (; 14 ;) (type $i) (result i32)
(local $0 i32)
(local $1 i32)
@ -190,54 +190,59 @@
(block $case3|0
(block $case2|0
(block $case1|0
(block $case0|0
(block $tablify|0
(if
;;@ assembly/pson.ts:46:28
(block (result i32)
(set_global $assembly/pson/offset
(i32.add
(tee_local $1
;;@ assembly/pson.ts:46:28
(get_global $assembly/pson/offset)
)
(i32.const 1)
)
)
(br_table $case0|0 $case1|0 $case2|0 $case3|0 $case4|0 $case5|0 $case6|0 $case7|0 $case8|0 $case9|0 $case10|0 $case11|0 $case12|0 $tablify|0
(i32.sub
(tee_local $1
;;@ assembly/pson.ts:46:2
(tee_local $0
;;@ assembly/pson.ts:46:19
(i32.load8_u
(get_local $1)
)
(i32.ne
(tee_local $1
;;@ assembly/pson.ts:46:2
(tee_local $0
;;@ assembly/pson.ts:46:19
(i32.load8_u
(get_local $1)
)
)
(i32.const 240)
)
(i32.const 240)
)
)
(br_if $case14|0
(i32.or
(block
(block $tablify|0
(br_table $case1|0 $case2|0 $case3|0 $case4|0 $case5|0 $case6|0 $case7|0 $case8|0 $case9|0 $case10|0 $case11|0 $case12|0 $tablify|0
(i32.sub
(get_local $1)
(i32.const 241)
)
)
)
(br_if $case14|0
(i32.or
(i32.eq
(get_local $1)
(i32.const 253)
)
(i32.eq
(get_local $1)
(i32.const 254)
)
)
)
(br_if $case15|0
(i32.eq
(get_local $1)
;;@ assembly/pson.ts:112:9
(i32.const 253)
)
(i32.eq
(get_local $1)
;;@ assembly/pson.ts:113:9
(i32.const 254)
(i32.const 255)
)
)
(br $case16|0)
)
(br_if $case15|0
(i32.eq
(get_local $1)
;;@ assembly/pson.ts:118:9
(i32.const 255)
)
)
(br $case16|0)
)
;;@ assembly/pson.ts:51:6
(call $assembly/pson/onNull)
@ -500,7 +505,6 @@
;;@ assembly/pson.ts:125:10
(i32.gt_u
(get_local $0)
;;@ assembly/pson.ts:125:18
(i32.const 239)
)
;;@ assembly/pson.ts:125:34

@ -41,6 +41,7 @@
(global $assembly/pson/Token.BINARY i32 (i32.const 255))
(global $HEAP_BASE i32 (i32.const 8))
(memory $0 0)
(export "memory" (memory $0))
(export "onNull" (func $assembly/pson/onNull))
(export "onTrue" (func $assembly/pson/onTrue))
(export "onFalse" (func $assembly/pson/onFalse))
@ -56,7 +57,6 @@
(export "onString" (func $assembly/pson/onString))
(export "onBinary" (func $assembly/pson/onBinary))
(export "decode" (func $assembly/pson/decode))
(export "memory" (memory $0))
(func $assembly/pson/readVarint32 (; 14 ;) (type $i) (result i32)
(local $0 i32)
(local $1 i32)
@ -283,112 +283,112 @@
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:50:9
(i32.const 240)
(get_global $assembly/pson/Token.NULL)
)
)
(br_if $case1|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:54:9
(i32.const 241)
(get_global $assembly/pson/Token.TRUE)
)
)
(br_if $case2|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:58:9
(i32.const 242)
(get_global $assembly/pson/Token.FALSE)
)
)
(br_if $case3|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:62:9
(i32.const 243)
(get_global $assembly/pson/Token.EOBJECT)
)
)
(br_if $case4|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:66:9
(i32.const 244)
(get_global $assembly/pson/Token.EARRAY)
)
)
(br_if $case5|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:70:9
(i32.const 245)
(get_global $assembly/pson/Token.ESTRING)
)
)
(br_if $case6|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:74:9
(i32.const 246)
(get_global $assembly/pson/Token.OBJECT)
)
)
(br_if $case7|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:82:9
(i32.const 247)
(get_global $assembly/pson/Token.ARRAY)
)
)
(br_if $case8|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:87:9
(i32.const 248)
(get_global $assembly/pson/Token.INTEGER)
)
)
(br_if $case9|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:91:9
(i32.const 249)
(get_global $assembly/pson/Token.LONG)
)
)
(br_if $case10|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:96:9
(i32.const 250)
(get_global $assembly/pson/Token.FLOAT)
)
)
(br_if $case11|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:101:9
(i32.const 251)
(get_global $assembly/pson/Token.DOUBLE)
)
)
(br_if $case12|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:106:9
(i32.const 252)
(get_global $assembly/pson/Token.STRING)
)
)
(br_if $case13|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:112:9
(i32.const 253)
(get_global $assembly/pson/Token.STRING_ADD)
)
)
(br_if $case14|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:113:9
(i32.const 254)
(get_global $assembly/pson/Token.STRING_GET)
)
)
(br_if $case15|0
(i32.eq
(get_local $0)
;;@ assembly/pson.ts:118:9
(i32.const 255)
(get_global $assembly/pson/Token.BINARY)
)
)
(br $case16|0)
@ -716,7 +716,7 @@
(i32.gt_u
(get_local $1)
;;@ assembly/pson.ts:125:18
(i32.const 239)
(get_global $assembly/pson/Token.MAX)
)
;;@ assembly/pson.ts:125:34
(unreachable)

@ -1122,7 +1122,8 @@ export enum DecoratorKind {
UNMANAGED,
SEALED,
INLINE,
EXTERNAL
EXTERNAL,
BUILTIN
}
/** Returns the kind of the specified decorator. Defaults to {@link DecoratorKind.CUSTOM}. */
@ -1132,6 +1133,10 @@ export function decoratorNameToKind(name: Expression): DecoratorKind {
let nameStr = (<IdentifierExpression>name).text;
assert(nameStr.length);
switch (nameStr.charCodeAt(0)) {
case CharCode.b: {
if (nameStr == "builtin") return DecoratorKind.BUILTIN;
break;
}
case CharCode.e: {
if (nameStr == "external") return DecoratorKind.EXTERNAL;
break;

@ -1871,7 +1871,7 @@ export function compileCall(
// host operations
case "__memory_size": { // __memory_size() -> i32
case "memory.size": { // memory.size() -> i32
compiler.currentType = Type.i32;
if (operands.length != 0) {
compiler.error(
@ -1887,7 +1887,7 @@ export function compileCall(
}
return module.createHost(HostOp.CurrentMemory);
}
case "__memory_grow": { // __memory_grow(pages: i32) -> i32
case "memory.grow": { // memory.grow(pages: i32) -> i32
compiler.currentType = Type.i32;
if (operands.length != 1) {
compiler.error(
@ -1907,7 +1907,7 @@ export function compileCall(
return module.createHost(HostOp.GrowMemory, null, [ arg0 ]);
}
// see: https://github.com/WebAssembly/bulk-memory-operations
case "__memory_copy": { // __memory_copy(dest: usize, src: usize: n: usize) -> void
case "memory.copy": { // memory.copy(dest: usize, src: usize: n: usize) -> void
if (typeArguments) {
compiler.error(
DiagnosticCode.Type_0_is_not_generic,
@ -1944,7 +1944,7 @@ export function compileCall(
throw new Error("not implemented");
// return module.createHost(HostOp.MoveMemory, null, [ arg0, arg1, arg2 ]);
}
case "__memory_fill": { // __memory_fill(dest: usize, value: u8, n: usize) -> void
case "memory.fill": { // memory.fill(dest: usize, value: u8, n: usize) -> void
if (typeArguments) {
compiler.error(
DiagnosticCode.Type_0_is_not_generic,
@ -2629,7 +2629,7 @@ export function compileCall(
// gc
case "__gc_iterate_roots": {
case "gc.iterateRoots": {
// TOOD: make it so that this can only be called from a library file?
if (typeArguments) {
compiler.error(

@ -58,24 +58,22 @@ export enum CommonFlags {
// Compilation states
/** Is a builtin. */
BUILTIN = 1 << 21,
/** Is compiled. */
COMPILED = 1 << 22,
COMPILED = 1 << 21,
/** Has a constant value and is therefore inlined. */
INLINED = 1 << 23,
INLINED = 1 << 22,
/** Is scoped. */
SCOPED = 1 << 24,
SCOPED = 1 << 23,
/** Is a trampoline. */
TRAMPOLINE = 1 << 25,
TRAMPOLINE = 1 << 24,
/** Is a virtual method. */
VIRTUAL = 1 << 26,
VIRTUAL = 1 << 25,
/** Is the main function. */
MAIN = 1 << 27,
MAIN = 1 << 26,
// Other
QUOTED = 1 << 28
QUOTED = 1 << 27
}
/** Path delimiter inserted between file system levels. */

@ -727,7 +727,7 @@ export class Compiler extends DiagnosticEmitter {
}
// ambient builtins like 'HEAP_BASE' need to be resolved but are added explicitly
if (global.is(CommonFlags.AMBIENT | CommonFlags.BUILTIN)) return true;
if (global.is(CommonFlags.AMBIENT) && global.hasDecorator(DecoratorFlags.BUILTIN)) return true;
var nativeType = global.type.toNativeType();
var isDeclaredConstant = global.is(CommonFlags.CONST) || global.is(CommonFlags.STATIC | CommonFlags.READONLY);
@ -1007,7 +1007,7 @@ export class Compiler extends DiagnosticEmitter {
/** Compiles a readily resolved function instance. */
compileFunction(instance: Function): bool {
if (instance.is(CommonFlags.COMPILED)) return true;
assert(!instance.is(CommonFlags.AMBIENT | CommonFlags.BUILTIN));
assert(!(instance.is(CommonFlags.AMBIENT) && instance.hasDecorator(DecoratorFlags.BUILTIN)));
instance.set(CommonFlags.COMPILED);
// check that modifiers are matching
@ -1229,6 +1229,7 @@ export class Compiler extends DiagnosticEmitter {
noTreeShaking || (<FunctionPrototype>element).is(CommonFlags.EXPORT)
) && !(<FunctionPrototype>element).is(CommonFlags.GENERIC)
) {
if (element.hasDecorator(DecoratorFlags.BUILTIN)) break;
this.compileFunctionUsingTypeArguments(
<FunctionPrototype>element,
[],
@ -2342,7 +2343,8 @@ export class Compiler extends DiagnosticEmitter {
: this.module.createI64(0);
}
case TypeKind.F64: {
if (!(element.is(CommonFlags.BUILTIN) && contextualType == Type.f32)) {
// monkey-patch for converting built-in floats to f32 implicitly
if (!(element.hasDecorator(DecoratorFlags.BUILTIN) && contextualType == Type.f32)) {
return this.module.createF64((<VariableLikeElement>element).constantFloatValue);
}
// otherwise fall-through: basically precomputes f32.demote/f64 of NaN / Infinity
@ -4967,7 +4969,7 @@ export class Compiler extends DiagnosticEmitter {
let typeArguments = expression.typeArguments;
// builtins handle present respectively omitted type arguments on their own
if (prototype.is(CommonFlags.AMBIENT | CommonFlags.BUILTIN)) {
if (prototype.hasDecorator(DecoratorFlags.BUILTIN)) {
return this.compileCallExpressionBuiltin(prototype, expression, contextualType);
}

@ -86,8 +86,6 @@ import {
nodeIsGenericCallable
} from "./ast";
const builtinsFile = LIBRARY_PREFIX + "builtins.ts";
/** Parser interface. */
export class Parser extends DiagnosticEmitter {
@ -135,11 +133,6 @@ export class Parser extends DiagnosticEmitter {
var program = this.program;
program.sources.push(source);
// mark the special builtins library file
if (source.normalizedPath == builtinsFile) {
source.set(CommonFlags.BUILTIN);
}
// tokenize and parse
var tn = new Tokenizer(source, program.diagnostics);
tn.onComment = this.onComment;
@ -176,9 +169,6 @@ export class Parser extends DiagnosticEmitter {
decorators.push(decorator);
}
// mark builtins
flags |= (tn.source.flags & CommonFlags.BUILTIN);
// check modifiers
var exportStart: i32 = 0;
var exportEnd: i32 = 0;

@ -708,7 +708,16 @@ export class Program extends DiagnosticEmitter {
let kind = decoratorNameToKind(decorator.name);
let flag = decoratorKindToFlag(kind);
if (flag) {
if (!(acceptedFlags & flag)) {
if (flag == DecoratorFlags.BUILTIN) {
if (decorator.range.source.isLibrary) {
presentFlags |= flag;
} else {
this.error(
DiagnosticCode.Decorator_0_is_not_valid_here,
decorator.range, decorator.name.range.toString()
);
}
} else if (!(acceptedFlags & flag)) {
this.error(
DiagnosticCode.Decorator_0_is_not_valid_here,
decorator.range, decorator.name.range.toString()
@ -732,13 +741,9 @@ export class Program extends DiagnosticEmitter {
declaration: DeclarationStatement
): void {
var parentNode = declaration.parent;
// alias the element globally if it is ...
// alias globally if explicitly annotated @global or exported from a top-level library file
if (
// explicitly annotated with @global - or -
(element.hasDecorator(DecoratorFlags.GLOBAL)) ||
// part of the special builtins library file - or -
(declaration.range.source.is(CommonFlags.BUILTIN)) ||
// exported from a top-level library file
(
declaration.range.source.isLibrary &&
element.is(CommonFlags.EXPORT) &&
@ -758,10 +763,12 @@ export class Program extends DiagnosticEmitter {
);
} else {
this.elementsLookup.set(globalName, element);
// builtins can use the global name directly instead of being just an alias
if (element.is(CommonFlags.BUILTIN)) element.internalName = globalName;
}
}
// builtins use the global name directly
if (element.hasDecorator(DecoratorFlags.BUILTIN)) {
element.internalName = declaration.programLevelInternalName;
}
}
/** Initializes a class declaration. */
@ -2040,7 +2047,9 @@ export enum DecoratorFlags {
/** Is always inlined. */
INLINE = 1 << 6,
/** Is using a different external name. */
EXTERNAL = 1 << 7
EXTERNAL = 1 << 7,
/** Is a builtin. */
BUILTIN = 1 << 8
}
export function decoratorKindToFlag(kind: DecoratorKind): DecoratorFlags {
@ -2054,6 +2063,7 @@ export function decoratorKindToFlag(kind: DecoratorKind): DecoratorFlags {
case DecoratorKind.SEALED: return DecoratorFlags.SEALED;
case DecoratorKind.INLINE: return DecoratorFlags.INLINE;
case DecoratorKind.EXTERNAL: return DecoratorFlags.EXTERNAL;
case DecoratorKind.BUILTIN: return DecoratorFlags.BUILTIN;
default: return DecoratorFlags.NONE;
}
}
@ -2375,7 +2385,7 @@ export class Function extends Element {
this.flags = prototype.flags;
this.decoratorFlags = prototype.decoratorFlags;
this.contextualTypeArguments = contextualTypeArguments;
if (!(prototype.is(CommonFlags.AMBIENT | CommonFlags.BUILTIN) || prototype.is(CommonFlags.DECLARE))) {
if (!(prototype.is(CommonFlags.AMBIENT))) {
let localIndex = 0;
if (parent && parent.kind == ElementKind.CLASS) {
assert(this.is(CommonFlags.INSTANCE));

@ -1,101 +1,103 @@
@inline export const NaN: f64 = 0 / 0;
@inline export const Infinity: f64 = 1 / 0;
export declare const HEAP_BASE: usize;
/* tslint:disable */
export declare function isInteger<T>(value?: T): bool;
export declare function isFloat<T>(value?: T): bool;
export declare function isSigned<T>(value?: T): bool;
export declare function isReference<T>(value?: T): bool;
export declare function isString<T>(value?: T): bool;
export declare function isArray<T>(value?: T): bool;
export declare function isDefined(expression: void): bool;
export declare function isConstant(expression: void): bool;
@builtin @inline export const NaN: f64 = 0 / 0;
@builtin @inline export const Infinity: f64 = 1 / 0;
@builtin export declare const HEAP_BASE: usize;
@builtin export declare function isInteger<T>(value?: T): bool;
@builtin export declare function isFloat<T>(value?: T): bool;
@builtin export declare function isSigned<T>(value?: T): bool;
@builtin export declare function isReference<T>(value?: T): bool;
@builtin export declare function isString<T>(value?: T): bool;
@builtin export declare function isArray<T>(value?: T): bool;
@builtin export declare function isDefined(expression: void): bool;
@builtin export declare function isConstant(expression: void): bool;
export function isNaN<T>(value: T): bool { return value != value; }
export function isFinite<T>(value: T): bool { return value - value == 0; }
export declare function clz<T>(value: T): T;
export declare function ctz<T>(value: T): T;
export declare function popcnt<T>(value: T): T;
export declare function rotl<T>(value: T, shift: T): T;
export declare function rotr<T>(value: T, shift: T): T;
export declare function abs<T>(value: T): T;
export declare function max<T>(left: T, right: T): T;
export declare function min<T>(left: T, right: T): T;
export declare function ceil<T>(value: T): T;
export declare function floor<T>(value: T): T;
export declare function copysign<T>(left: T, right: T): T;
export declare function nearest<T>(value: T): T;
export declare function reinterpret<T>(value: void): T;
export declare function sqrt<T>(value: T): T;
export declare function trunc<T>(value: T): T;
export declare function load<T>(offset: usize, constantOffset?: usize): T;
export declare function store<T>(offset: usize, value: void, constantOffset?: usize): void;
export declare function sizeof<T>(): usize; // | u32 / u64
export declare function alignof<T>(): usize; // | u32 / u64
export declare function offsetof<T>(fieldName?: string): usize; // | u32 / u64
export declare function select<T>(ifTrue: T, ifFalse: T, condition: bool): T;
export declare function unreachable(): void;
export declare function changetype<T>(value: void): T;
export declare function assert<T>(isTrueish: T, message?: string): T;
export declare function unchecked<T>(expr: T): T;
export declare function call_indirect<T>(target: void, ...args: void[]): T;
@builtin export declare function clz<T>(value: T): T;
@builtin export declare function ctz<T>(value: T): T;
@builtin export declare function popcnt<T>(value: T): T;
@builtin export declare function rotl<T>(value: T, shift: T): T;
@builtin export declare function rotr<T>(value: T, shift: T): T;
@builtin export declare function abs<T>(value: T): T;
@builtin export declare function max<T>(left: T, right: T): T;
@builtin export declare function min<T>(left: T, right: T): T;
@builtin export declare function ceil<T>(value: T): T;
@builtin export declare function floor<T>(value: T): T;
@builtin export declare function copysign<T>(left: T, right: T): T;
@builtin export declare function nearest<T>(value: T): T;
@builtin export declare function reinterpret<T>(value: void): T;
@builtin export declare function sqrt<T>(value: T): T;
@builtin export declare function trunc<T>(value: T): T;
@builtin export declare function load<T>(offset: usize, constantOffset?: usize): T;
@builtin export declare function store<T>(offset: usize, value: void, constantOffset?: usize): void;
@builtin export declare function sizeof<T>(): usize; // | u32 / u64
@builtin export declare function alignof<T>(): usize; // | u32 / u64
@builtin export declare function offsetof<T>(fieldName?: string): usize; // | u32 / u64
@builtin export declare function select<T>(ifTrue: T, ifFalse: T, condition: bool): T;
@builtin export declare function unreachable(): void;
@builtin export declare function changetype<T>(value: void): T;
@builtin export declare function assert<T>(isTrueish: T, message?: string): T;
@builtin export declare function unchecked<T>(expr: T): T;
@builtin export declare function call_indirect<T>(target: void, ...args: void[]): T;
export declare function i8(value: void): i8;
@builtin export declare function i8(value: void): i8;
export namespace i8 {
export const MIN_VALUE: i8 = -128;
export const MAX_VALUE: i8 = 127;
}
export declare function i16(value: void): i16;
@builtin export declare function i16(value: void): i16;
export namespace i16 {
export const MIN_VALUE: i16 = -32768;
export const MAX_VALUE: i16 = 32767;
}
export declare function i32(value: void): i32;
@builtin export declare function i32(value: void): i32;
export namespace i32 {
export const MIN_VALUE: i32 = -2147483648;
export const MAX_VALUE: i32 = 2147483647;
export declare function clz(value: i32): i32;
export declare function ctz(value: i32): i32;
export declare function popcnt(value: i32): i32;
export declare function rotl(value: i32, shift: i32): i32;
export declare function rotr(value: i32, shift: i32): i32;
export declare function reinterpret_f32(value: f32): i32;
export declare function load8_s(offset: usize, constantOffset?: usize): i32;
export declare function load8_u(offset: usize, constantOffset?: usize): i32;
export declare function load16_s(offset: usize, constantOffset?: usize): i32;
export declare function load16_u(offset: usize, constantOffset?: usize): i32;
export declare function load(offset: usize, constantOffset?: usize): i32;
export declare function store8(offset: usize, value: i32, constantOffset?: usize): void;
export declare function store16(offset: usize, value: i32, constantOffset?: usize): void;
export declare function store(offset: usize, value: i32, constantOffset?: usize): void;
@builtin export declare function clz(value: i32): i32;
@builtin export declare function ctz(value: i32): i32;
@builtin export declare function popcnt(value: i32): i32;
@builtin export declare function rotl(value: i32, shift: i32): i32;
@builtin export declare function rotr(value: i32, shift: i32): i32;
@builtin export declare function reinterpret_f32(value: f32): i32;
@builtin export declare function load8_s(offset: usize, constantOffset?: usize): i32;
@builtin export declare function load8_u(offset: usize, constantOffset?: usize): i32;
@builtin export declare function load16_s(offset: usize, constantOffset?: usize): i32;
@builtin export declare function load16_u(offset: usize, constantOffset?: usize): i32;
@builtin export declare function load(offset: usize, constantOffset?: usize): i32;
@builtin export declare function store8(offset: usize, value: i32, constantOffset?: usize): void;
@builtin export declare function store16(offset: usize, value: i32, constantOffset?: usize): void;
@builtin export declare function store(offset: usize, value: i32, constantOffset?: usize): void;
}
export declare function i64(value: void): i64;
@builtin export declare function i64(value: void): i64;
export namespace i64 {
export const MIN_VALUE: i64 = -9223372036854775808;
export const MAX_VALUE: i64 = 9223372036854775807;
export declare function clz(value: i64): i64;
export declare function ctz(value: i64): i64;
export declare function load8_s(offset: usize, constantOffset?: usize): i64;
export declare function load8_u(offset: usize, constantOffset?: usize): u64;
export declare function load16_s(offset: usize, constantOffset?: usize): i64;
export declare function load16_u(offset: usize, constantOffset?: usize): u64;
export declare function load32_s(offset: usize, constantOffset?: usize): i64;
export declare function load32_u(offset: usize, constantOffset?: usize): u64;
export declare function load(offset: usize, constantOffset?: usize): i64;
export declare function popcnt(value: i64): i64;
export declare function rotl(value: i64, shift: i64): i64;
export declare function rotr(value: i64, shift: i64): i64;
export declare function reinterpret_f64(value: f64): i64;
export declare function store8(offset: usize, value: i64, constantOffset?: usize): void;
export declare function store16(offset: usize, value: i64, constantOffset?: usize): void;
export declare function store32(offset: usize, value: i64, constantOffset?: usize): void;
export declare function store(offset: usize, value: i64, constantOffset?: usize): void;
@builtin export declare function clz(value: i64): i64;
@builtin export declare function ctz(value: i64): i64;
@builtin export declare function load8_s(offset: usize, constantOffset?: usize): i64;
@builtin export declare function load8_u(offset: usize, constantOffset?: usize): u64;
@builtin export declare function load16_s(offset: usize, constantOffset?: usize): i64;
@builtin export declare function load16_u(offset: usize, constantOffset?: usize): u64;
@builtin export declare function load32_s(offset: usize, constantOffset?: usize): i64;
@builtin export declare function load32_u(offset: usize, constantOffset?: usize): u64;
@builtin export declare function load(offset: usize, constantOffset?: usize): i64;
@builtin export declare function popcnt(value: i64): i64;
@builtin export declare function rotl(value: i64, shift: i64): i64;
@builtin export declare function rotr(value: i64, shift: i64): i64;
@builtin export declare function reinterpret_f64(value: f64): i64;
@builtin export declare function store8(offset: usize, value: i64, constantOffset?: usize): void;
@builtin export declare function store16(offset: usize, value: i64, constantOffset?: usize): void;
@builtin export declare function store32(offset: usize, value: i64, constantOffset?: usize): void;
@builtin export declare function store(offset: usize, value: i64, constantOffset?: usize): void;
}
export declare function isize(value: void): isize;
@builtin export declare function isize(value: void): isize;
export namespace isize {
export const MIN_VALUE: isize = sizeof<i32>() == sizeof<isize>()
? -2147483648
@ -105,31 +107,31 @@ export namespace isize {
: <isize>9223372036854775807;
}
export declare function u8(value: void): u8;
@builtin export declare function u8(value: void): u8;
export namespace u8 {
export const MIN_VALUE: u8 = 0;
export const MAX_VALUE: u8 = 255;
}
export declare function u16(value: void): u16;
@builtin export declare function u16(value: void): u16;
export namespace u16 {
export const MIN_VALUE: u16 = 0;
export const MAX_VALUE: u16 = 65535;
}
export declare function u32(value: void): u32;
@builtin export declare function u32(value: void): u32;
export namespace u32 {
export const MIN_VALUE: u32 = 0;
export const MAX_VALUE: u32 = 4294967295;
}
export declare function u64(value: void): u64;
@builtin export declare function u64(value: void): u64;
export namespace u64 {
export const MIN_VALUE: u64 = 0;
export const MAX_VALUE: u64 = 18446744073709551615;
}
export declare function usize(value: void): usize;
@builtin export declare function usize(value: void): usize;
export namespace usize {
export const MIN_VALUE: usize = 0;
export const MAX_VALUE: usize = sizeof<u32>() == sizeof<usize>()
@ -137,13 +139,13 @@ export namespace usize {
: <usize>18446744073709551615;
}
export declare function bool(value: void): bool;
@builtin export declare function bool(value: void): bool;
export namespace bool {
export const MIN_VALUE: bool = false;
export const MAX_VALUE: bool = true;
}
export declare function f32(value: void): f32;
@builtin export declare function f32(value: void): f32;
export namespace f32 {
export const MIN_VALUE = reinterpret<f32>(0xFF7FFFFF); // -0x1.fffffep+127f
export const MAX_VALUE = reinterpret<f32>(0x7F7FFFFF); // 0x1.fffffep+127f
@ -151,21 +153,21 @@ export namespace f32 {
export const MIN_SAFE_INTEGER: f32 = -16777215;
export const MAX_SAFE_INTEGER: f32 = 16777215;
export const EPSILON = reinterpret<f32>(0x34000000); // 0x1p-23f
export declare function abs(value: f32): f32;
export declare function ceil(value: f32): f32;
export declare function copysign(x: f32, y: f32): f32;
export declare function floor(value: f32): f32;
export declare function load(offset: usize, constantOffset?: usize): f32;
export declare function max(left: f32, right: f32): f32;
export declare function min(left: f32, right: f32): f32;
export declare function nearest(value: f32): f32;
export declare function reinterpret_i32(value: i32): f32;
export declare function sqrt(value: f32): f32;
export declare function store(offset: usize, value: f32, constantOffset?: usize): void;
export declare function trunc(value: f32): f32;
@builtin export declare function abs(value: f32): f32;
@builtin export declare function ceil(value: f32): f32;
@builtin export declare function copysign(x: f32, y: f32): f32;
@builtin export declare function floor(value: f32): f32;
@builtin export declare function load(offset: usize, constantOffset?: usize): f32;
@builtin export declare function max(left: f32, right: f32): f32;
@builtin export declare function min(left: f32, right: f32): f32;
@builtin export declare function nearest(value: f32): f32;
@builtin export declare function reinterpret_i32(value: i32): f32;
@builtin export declare function sqrt(value: f32): f32;
@builtin export declare function store(offset: usize, value: f32, constantOffset?: usize): void;
@builtin export declare function trunc(value: f32): f32;
}
export declare function f64(value: void): f64;
@builtin export declare function f64(value: void): f64;
export namespace f64 {
export const MIN_VALUE = reinterpret<f64>(0xFFEFFFFFFFFFFFFF); // -0x1.fffffffffffffp+1023
export const MAX_VALUE = reinterpret<f64>(0x7FEFFFFFFFFFFFFF); // 0x1.fffffffffffffp+1023
@ -173,29 +175,24 @@ export namespace f64 {
export const MIN_SAFE_INTEGER: f64 = -9007199254740991;
export const MAX_SAFE_INTEGER: f64 = 9007199254740991;
export const EPSILON = reinterpret<f64>(0x3CB0000000000000); // 0x1p-52
export declare function abs(value: f64): f64;
export declare function ceil(value: f64): f64;
export declare function copysign(x: f64, y: f64): f64;
export declare function floor(value: f64): f64;
export declare function load(offset: usize, constantOffset?: usize): f64;
export declare function max(left: f64, right: f64): f64;
export declare function min(left: f64, right: f64): f64;
export declare function nearest(value: f64): f64;
export declare function reinterpret_i64(value: i64): f64;
export declare function sqrt(value: f64): f64;
export declare function store(offset: usize, value: f64, constantOffset?: usize): void;
export declare function trunc(value: f64): f64;
@builtin export declare function abs(value: f64): f64;
@builtin export declare function ceil(value: f64): f64;
@builtin export declare function copysign(x: f64, y: f64): f64;
@builtin export declare function floor(value: f64): f64;
@builtin export declare function load(offset: usize, constantOffset?: usize): f64;
@builtin export declare function max(left: f64, right: f64): f64;
@builtin export declare function min(left: f64, right: f64): f64;
@builtin export declare function nearest(value: f64): f64;
@builtin export declare function reinterpret_i64(value: i64): f64;
@builtin export declare function sqrt(value: f64): f64;
@builtin export declare function store(offset: usize, value: f64, constantOffset?: usize): void;
@builtin export declare function trunc(value: f64): f64;
}
export declare function start(): void;
@builtin export declare function start(): void;
export declare function ERROR(message?: void): void;
export declare function WARNING(message?: void): void;
export declare function INFO(message?: void): void;
@builtin export declare function ERROR(message?: void): void;
@builtin export declare function WARNING(message?: void): void;
@builtin export declare function INFO(message?: void): void;
export declare function __memory_size(): i32;
export declare function __memory_grow(pages: i32): i32;
// export declare function __memory_copy(dest: usize, src: usize: n: usize): void;
// export declare function __memory_fill(dest: usize, value: u32, n: usize): void;
export declare function __gc_iterate_roots(fn: (ref: usize) => void): void;
@builtin export declare function __gc_iterate_roots(fn: (ref: usize) => void): void;

3
std/assembly/gc.ts Normal file

@ -0,0 +1,3 @@
export namespace gc {
@builtin export declare function iterateRoots(fn: (ref: usize) => void): void;
}

@ -1,12 +1,10 @@
export namespace memory {
export function size(): i32 {
return __memory_size(); // tslint:disable-line
}
@builtin
export declare function size(): i32;
export function grow(pages: i32): i32 {
return __memory_grow(pages); // tslint:disable-line
}
@builtin
export declare function grow(pages: i32): i32;
export function fill(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset
if (isDefined(__memory_fill)) { __memory_fill(dest, c, n); return; } // tslint:disable-line

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1555,7 +1555,7 @@
(f64.const 1.e+300)
)
)
(func $isNaN<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
@ -1613,7 +1613,7 @@
)
)
(set_local $3
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
@ -3201,7 +3201,7 @@
(f32.const 1.0000000031710769e-30)
)
)
(func $isNaN<f64> (; 6 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 6 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -3267,7 +3267,7 @@
)
)
(set_local $7
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)

@ -1692,7 +1692,7 @@
(get_local $13)
)
)
(func $isNaN<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
@ -1754,7 +1754,7 @@
)
)
(get_local $7)
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
@ -3550,7 +3550,7 @@
(get_local $11)
)
)
(func $isNaN<f64> (; 6 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 6 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -3618,7 +3618,7 @@
)
)
(get_local $7)
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)

@ -2,8 +2,6 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $fi (func (param f32) (result i32)))
(type $Fi (func (param f64) (result i32)))
(type $i (func (result i32)))
(type $ii (func (param i32) (result i32)))
(type $iiv (func (param i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -25,13 +23,13 @@
(export "table" (table $0))
(export "test" (func $builtins/test))
(start $start)
(func $isNaN<f32> (; 1 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 1 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
)
)
(func $isFinite<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isFinite<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(f32.eq
(f32.sub
(get_local $0)
@ -40,13 +38,13 @@
(f32.const 0)
)
)
(func $isNaN<f64> (; 3 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 3 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
)
)
(func $isFinite<f64> (; 4 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isFinite<f64> (; 4 ;) (type $Fi) (param $0 f64) (result i32)
(f64.eq
(f64.sub
(get_local $0)
@ -55,21 +53,13 @@
(f64.const 0)
)
)
(func $~lib/memory/memory.size (; 5 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 6 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $start~anonymous|0 (; 7 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $start~anonymous|0 (; 5 ;) (type $iiv) (param $0 i32) (param $1 i32)
(nop)
)
(func $builtins/test (; 8 ;) (type $v)
(func $builtins/test (; 6 ;) (type $v)
(nop)
)
(func $start (; 9 ;) (type $v)
(func $start (; 7 ;) (type $v)
(set_global $builtins/i
(i32.const 31)
)
@ -209,7 +199,7 @@
)
)
(if
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const 1.25)
)
(block
@ -224,7 +214,7 @@
)
(if
(i32.ne
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const nan:0x400000)
)
(i32.const 1)
@ -241,7 +231,7 @@
)
(if
(i32.ne
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const 1.25)
)
(i32.const 1)
@ -257,7 +247,7 @@
)
)
(if
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const inf)
)
(block
@ -271,7 +261,7 @@
)
)
(if
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const -inf)
)
(block
@ -285,7 +275,7 @@
)
)
(if
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const nan:0x400000)
)
(block
@ -332,17 +322,17 @@
(f32.const 1)
)
(set_global $builtins/b
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const 1.25)
)
)
(set_global $builtins/b
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const 1.25)
)
)
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const 1.25)
)
(block
@ -357,7 +347,7 @@
)
(if
(i32.ne
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const nan:0x8000000000000)
)
(i32.const 1)
@ -374,7 +364,7 @@
)
(if
(i32.ne
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const 1.25)
)
(i32.const 1)
@ -390,7 +380,7 @@
)
)
(if
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const inf)
)
(block
@ -404,7 +394,7 @@
)
)
(if
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const -inf)
)
(block
@ -418,7 +408,7 @@
)
)
(if
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const nan:0x8000000000000)
)
(block
@ -465,12 +455,12 @@
(f64.const 1)
)
(set_global $builtins/b
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const 1.25)
)
)
(set_global $builtins/b
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const 1.25)
)
)
@ -739,18 +729,18 @@
(f64.const 1.24e-322)
)
(drop
(call $~lib/memory/memory.size)
(current_memory)
)
(drop
(call $~lib/memory/memory.grow
(grow_memory
(i32.const 1)
)
)
(set_global $builtins/s
(call $~lib/memory/memory.size)
(current_memory)
)
(set_global $builtins/s
(call $~lib/memory/memory.grow
(grow_memory
(i32.const 1)
)
)
@ -779,7 +769,7 @@
)
(if
(i32.eqz
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const nan:0x400000)
)
)
@ -795,7 +785,7 @@
)
(if
(i32.eqz
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const nan:0x8000000000000)
)
)
@ -810,7 +800,7 @@
)
)
(if
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const nan:0x400000)
)
(block
@ -824,7 +814,7 @@
)
)
(if
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const inf)
)
(block
@ -838,7 +828,7 @@
)
)
(if
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const nan:0x8000000000000)
)
(block
@ -852,7 +842,7 @@
)
)
(if
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const inf)
)
(block
@ -867,7 +857,7 @@
)
(if
(i32.eqz
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const 0)
)
)
@ -883,7 +873,7 @@
)
(if
(i32.eqz
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const 0)
)
)
@ -1004,7 +994,7 @@
(f64.const 1)
)
(drop
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const 1)
)
)

@ -2,8 +2,6 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $fi (func (param f32) (result i32)))
(type $Fi (func (param f64) (result i32)))
(type $i (func (result i32)))
(type $ii (func (param i32) (result i32)))
(type $iiv (func (param i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -19,34 +17,34 @@
(global $builtins/U (mut i64) (i64.const 0))
(global $builtins/s (mut i32) (i32.const 0))
(global $builtins/fn (mut i32) (i32.const 0))
(global $i8.MIN_VALUE i32 (i32.const -128))
(global $i8.MAX_VALUE i32 (i32.const 127))
(global $i16.MIN_VALUE i32 (i32.const -32768))
(global $i16.MAX_VALUE i32 (i32.const 32767))
(global $i32.MIN_VALUE i32 (i32.const -2147483648))
(global $i32.MAX_VALUE i32 (i32.const 2147483647))
(global $i64.MIN_VALUE i64 (i64.const -9223372036854775808))
(global $i64.MAX_VALUE i64 (i64.const 9223372036854775807))
(global $u8.MIN_VALUE i32 (i32.const 0))
(global $u8.MAX_VALUE i32 (i32.const 255))
(global $u16.MIN_VALUE i32 (i32.const 0))
(global $u16.MAX_VALUE i32 (i32.const 65535))
(global $u32.MIN_VALUE i32 (i32.const 0))
(global $u32.MAX_VALUE i32 (i32.const -1))
(global $u64.MIN_VALUE i64 (i64.const 0))
(global $u64.MAX_VALUE i64 (i64.const -1))
(global $bool.MIN_VALUE i32 (i32.const 0))
(global $bool.MAX_VALUE i32 (i32.const 1))
(global $f32.MIN_VALUE f32 (f32.const -3402823466385288598117041e14))
(global $f32.MAX_VALUE f32 (f32.const 3402823466385288598117041e14))
(global $f32.MIN_SAFE_INTEGER f32 (f32.const -16777215))
(global $f32.MAX_SAFE_INTEGER f32 (f32.const 16777215))
(global $f32.EPSILON f32 (f32.const 1.1920928955078125e-07))
(global $f64.MIN_VALUE f64 (f64.const -1797693134862315708145274e284))
(global $f64.MAX_VALUE f64 (f64.const 1797693134862315708145274e284))
(global $f64.MIN_SAFE_INTEGER f64 (f64.const -9007199254740991))
(global $f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991))
(global $f64.EPSILON f64 (f64.const 2.220446049250313e-16))
(global $~lib/builtins/i8.MIN_VALUE i32 (i32.const -128))
(global $~lib/builtins/i8.MAX_VALUE i32 (i32.const 127))
(global $~lib/builtins/i16.MIN_VALUE i32 (i32.const -32768))
(global $~lib/builtins/i16.MAX_VALUE i32 (i32.const 32767))
(global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648))
(global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647))
(global $~lib/builtins/i64.MIN_VALUE i64 (i64.const -9223372036854775808))
(global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807))
(global $~lib/builtins/u8.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/u8.MAX_VALUE i32 (i32.const 255))
(global $~lib/builtins/u16.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/u16.MAX_VALUE i32 (i32.const 65535))
(global $~lib/builtins/u32.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1))
(global $~lib/builtins/u64.MIN_VALUE i64 (i64.const 0))
(global $~lib/builtins/u64.MAX_VALUE i64 (i64.const -1))
(global $~lib/builtins/bool.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/bool.MAX_VALUE i32 (i32.const 1))
(global $~lib/builtins/f32.MIN_VALUE f32 (f32.const -3402823466385288598117041e14))
(global $~lib/builtins/f32.MAX_VALUE f32 (f32.const 3402823466385288598117041e14))
(global $~lib/builtins/f32.MIN_SAFE_INTEGER f32 (f32.const -16777215))
(global $~lib/builtins/f32.MAX_SAFE_INTEGER f32 (f32.const 16777215))
(global $~lib/builtins/f32.EPSILON f32 (f32.const 1.1920928955078125e-07))
(global $~lib/builtins/f64.MIN_VALUE f64 (f64.const -1797693134862315708145274e284))
(global $~lib/builtins/f64.MAX_VALUE f64 (f64.const 1797693134862315708145274e284))
(global $~lib/builtins/f64.MIN_SAFE_INTEGER f64 (f64.const -9007199254740991))
(global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991))
(global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16))
(global $HEAP_BASE i32 (i32.const 44))
(table 1 1 anyfunc)
(elem (i32.const 0) $start~anonymous|0)
@ -57,13 +55,13 @@
(export "table" (table $0))
(export "test" (func $builtins/test))
(start $start)
(func $isNaN<f32> (; 1 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 1 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
)
)
(func $isFinite<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isFinite<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
(f32.eq
(f32.sub
(get_local $0)
@ -72,13 +70,13 @@
(f32.const 0)
)
)
(func $isNaN<f64> (; 3 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 3 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
)
)
(func $isFinite<f64> (; 4 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isFinite<f64> (; 4 ;) (type $Fi) (param $0 f64) (result i32)
(f64.eq
(f64.sub
(get_local $0)
@ -87,21 +85,13 @@
(f64.const 0)
)
)
(func $~lib/memory/memory.size (; 5 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 6 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $start~anonymous|0 (; 7 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $start~anonymous|0 (; 5 ;) (type $iiv) (param $0 i32) (param $1 i32)
(nop)
)
(func $builtins/test (; 8 ;) (type $v)
(func $builtins/test (; 6 ;) (type $v)
(nop)
)
(func $start (; 9 ;) (type $v)
(func $start (; 7 ;) (type $v)
(local $0 i32)
(local $1 i32)
(local $2 i64)
@ -847,7 +837,7 @@
(if
(i32.eqz
(i32.eq
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const 1.25)
)
(i32.const 0)
@ -866,7 +856,7 @@
(if
(i32.eqz
(i32.eq
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const nan:0x400000)
)
(i32.const 1)
@ -885,7 +875,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const 1.25)
)
(i32.const 1)
@ -904,7 +894,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const inf)
)
(i32.const 0)
@ -923,7 +913,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.neg
(f32.const inf)
)
@ -944,7 +934,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const nan:0x400000)
)
(i32.const 0)
@ -1015,12 +1005,12 @@
)
)
(set_global $builtins/b
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const 1.25)
)
)
(set_global $builtins/b
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const 1.25)
)
)
@ -1087,7 +1077,7 @@
(if
(i32.eqz
(i32.eq
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const 1.25)
)
(i32.const 0)
@ -1106,7 +1096,7 @@
(if
(i32.eqz
(i32.eq
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const nan:0x8000000000000)
)
(i32.const 1)
@ -1125,7 +1115,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const 1.25)
)
(i32.const 1)
@ -1144,7 +1134,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const inf)
)
(i32.const 0)
@ -1163,7 +1153,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.neg
(f64.const inf)
)
@ -1184,7 +1174,7 @@
(if
(i32.eqz
(i32.eq
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const nan:0x8000000000000)
)
(i32.const 0)
@ -1255,12 +1245,12 @@
)
)
(set_global $builtins/b
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const 1.25)
)
)
(set_global $builtins/b
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const 1.25)
)
)
@ -1559,18 +1549,18 @@
)
)
(drop
(call $~lib/memory/memory.size)
(current_memory)
)
(drop
(call $~lib/memory/memory.grow
(grow_memory
(i32.const 1)
)
)
(set_global $builtins/s
(call $~lib/memory/memory.size)
(current_memory)
)
(set_global $builtins/s
(call $~lib/memory/memory.grow
(grow_memory
(i32.const 1)
)
)
@ -1955,7 +1945,7 @@
)
(if
(i32.eqz
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(f32.const nan:0x400000)
)
)
@ -1971,7 +1961,7 @@
)
(if
(i32.eqz
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const nan:0x8000000000000)
)
)
@ -1988,7 +1978,7 @@
(if
(i32.eqz
(i32.eqz
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const nan:0x400000)
)
)
@ -2006,7 +1996,7 @@
(if
(i32.eqz
(i32.eqz
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const inf)
)
)
@ -2024,7 +2014,7 @@
(if
(i32.eqz
(i32.eqz
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const nan:0x8000000000000)
)
)
@ -2042,7 +2032,7 @@
(if
(i32.eqz
(i32.eqz
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const inf)
)
)
@ -2059,7 +2049,7 @@
)
(if
(i32.eqz
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(f32.const 0)
)
)
@ -2075,7 +2065,7 @@
)
(if
(i32.eqz
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(f64.const 0)
)
)
@ -2092,7 +2082,7 @@
(if
(i32.eqz
(i32.eq
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
(i32.shr_s
(i32.shl
(i32.const 128)
@ -2115,7 +2105,7 @@
(if
(i32.eqz
(i32.eq
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
(i32.const 127)
)
)
@ -2132,7 +2122,7 @@
(if
(i32.eqz
(i32.eq
(get_global $i16.MIN_VALUE)
(get_global $~lib/builtins/i16.MIN_VALUE)
(i32.shr_s
(i32.shl
(i32.const 32768)
@ -2155,7 +2145,7 @@
(if
(i32.eqz
(i32.eq
(get_global $i16.MAX_VALUE)
(get_global $~lib/builtins/i16.MAX_VALUE)
(i32.const 32767)
)
)
@ -2172,7 +2162,7 @@
(if
(i32.eqz
(i32.eq
(get_global $i32.MIN_VALUE)
(get_global $~lib/builtins/i32.MIN_VALUE)
(i32.const -2147483648)
)
)
@ -2189,7 +2179,7 @@
(if
(i32.eqz
(i32.eq
(get_global $i32.MAX_VALUE)
(get_global $~lib/builtins/i32.MAX_VALUE)
(i32.const 2147483647)
)
)
@ -2206,7 +2196,7 @@
(if
(i32.eqz
(i64.eq
(get_global $i64.MIN_VALUE)
(get_global $~lib/builtins/i64.MIN_VALUE)
(i64.const -9223372036854775808)
)
)
@ -2223,7 +2213,7 @@
(if
(i32.eqz
(i64.eq
(get_global $i64.MAX_VALUE)
(get_global $~lib/builtins/i64.MAX_VALUE)
(i64.const 9223372036854775807)
)
)
@ -2240,7 +2230,7 @@
(if
(i32.eqz
(i32.eq
(get_global $u8.MIN_VALUE)
(get_global $~lib/builtins/u8.MIN_VALUE)
(i32.const 0)
)
)
@ -2257,7 +2247,7 @@
(if
(i32.eqz
(i32.eq
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
(i32.const 255)
)
)
@ -2274,7 +2264,7 @@
(if
(i32.eqz
(i32.eq
(get_global $u16.MIN_VALUE)
(get_global $~lib/builtins/u16.MIN_VALUE)
(i32.const 0)
)
)
@ -2291,7 +2281,7 @@
(if
(i32.eqz
(i32.eq
(get_global $u16.MAX_VALUE)
(get_global $~lib/builtins/u16.MAX_VALUE)
(i32.const 65535)
)
)
@ -2308,7 +2298,7 @@
(if
(i32.eqz
(i32.eq
(get_global $u32.MIN_VALUE)
(get_global $~lib/builtins/u32.MIN_VALUE)
(i32.const 0)
)
)
@ -2325,7 +2315,7 @@
(if
(i32.eqz
(i32.eq
(get_global $u32.MAX_VALUE)
(get_global $~lib/builtins/u32.MAX_VALUE)
(i32.const -1)
)
)
@ -2342,7 +2332,7 @@
(if
(i32.eqz
(i64.eq
(get_global $u64.MIN_VALUE)
(get_global $~lib/builtins/u64.MIN_VALUE)
(i64.const 0)
)
)
@ -2359,7 +2349,7 @@
(if
(i32.eqz
(i64.eq
(get_global $u64.MAX_VALUE)
(get_global $~lib/builtins/u64.MAX_VALUE)
(i64.const -1)
)
)
@ -2376,7 +2366,7 @@
(if
(i32.eqz
(i32.eq
(get_global $bool.MIN_VALUE)
(get_global $~lib/builtins/bool.MIN_VALUE)
(i32.const 0)
)
)
@ -2393,7 +2383,7 @@
(if
(i32.eqz
(i32.eq
(get_global $bool.MIN_VALUE)
(get_global $~lib/builtins/bool.MIN_VALUE)
(i32.const 0)
)
)
@ -2410,7 +2400,7 @@
(if
(i32.eqz
(i32.eq
(get_global $bool.MAX_VALUE)
(get_global $~lib/builtins/bool.MAX_VALUE)
(i32.const 1)
)
)
@ -2427,7 +2417,7 @@
(if
(i32.eqz
(i32.eq
(get_global $bool.MAX_VALUE)
(get_global $~lib/builtins/bool.MAX_VALUE)
(i32.const 1)
)
)
@ -2444,7 +2434,7 @@
(if
(i32.eqz
(f32.eq
(get_global $f32.MIN_VALUE)
(get_global $~lib/builtins/f32.MIN_VALUE)
(f32.const -3402823466385288598117041e14)
)
)
@ -2461,7 +2451,7 @@
(if
(i32.eqz
(f32.eq
(get_global $f32.MAX_VALUE)
(get_global $~lib/builtins/f32.MAX_VALUE)
(f32.const 3402823466385288598117041e14)
)
)
@ -2478,7 +2468,7 @@
(if
(i32.eqz
(f32.eq
(get_global $f32.MIN_SAFE_INTEGER)
(get_global $~lib/builtins/f32.MIN_SAFE_INTEGER)
(f32.const -16777215)
)
)
@ -2495,7 +2485,7 @@
(if
(i32.eqz
(f32.eq
(get_global $f32.MAX_SAFE_INTEGER)
(get_global $~lib/builtins/f32.MAX_SAFE_INTEGER)
(f32.const 16777215)
)
)
@ -2512,7 +2502,7 @@
(if
(i32.eqz
(f32.eq
(get_global $f32.EPSILON)
(get_global $~lib/builtins/f32.EPSILON)
(f32.const 1.1920928955078125e-07)
)
)
@ -2529,7 +2519,7 @@
(if
(i32.eqz
(f64.eq
(get_global $f64.MIN_VALUE)
(get_global $~lib/builtins/f64.MIN_VALUE)
(f64.const -1797693134862315708145274e284)
)
)
@ -2546,7 +2536,7 @@
(if
(i32.eqz
(f64.eq
(get_global $f64.MAX_VALUE)
(get_global $~lib/builtins/f64.MAX_VALUE)
(f64.const 1797693134862315708145274e284)
)
)
@ -2563,7 +2553,7 @@
(if
(i32.eqz
(f64.eq
(get_global $f64.MIN_SAFE_INTEGER)
(get_global $~lib/builtins/f64.MIN_SAFE_INTEGER)
(f64.const -9007199254740991)
)
)
@ -2580,7 +2570,7 @@
(if
(i32.eqz
(f64.eq
(get_global $f64.MAX_SAFE_INTEGER)
(get_global $~lib/builtins/f64.MAX_SAFE_INTEGER)
(f64.const 9007199254740991)
)
)
@ -2597,7 +2587,7 @@
(if
(i32.eqz
(f64.eq
(get_global $f64.EPSILON)
(get_global $~lib/builtins/f64.EPSILON)
(f64.const 2.220446049250313e-16)
)
)
@ -2888,7 +2878,7 @@
)
)
(drop
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(f64.const 1)
)
)

@ -58,15 +58,7 @@
(func $exports/Car.getNumTires (; 2 ;) (type $i) (result i32)
(i32.const 4)
)
(func $~lib/memory/memory.size (; 3 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 4 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -98,14 +90,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -133,7 +125,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -152,12 +144,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $exports/Car#constructor (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/Car#constructor (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -177,21 +169,21 @@
)
(get_local $0)
)
(func $exports/Car#get:numDoors (; 8 ;) (type $ii) (param $0 i32) (result i32)
(func $exports/Car#get:numDoors (; 6 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $exports/Car#set:numDoors (; 9 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $exports/Car#set:numDoors (; 7 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/Car#openDoors (; 10 ;) (type $iv) (param $0 i32)
(func $exports/Car#openDoors (; 8 ;) (type $iv) (param $0 i32)
(nop)
)
(func $start (; 11 ;) (type $v)
(func $start (; 9 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 8)
)
@ -199,7 +191,7 @@
(get_global $~lib/allocator/arena/startOffset)
)
)
(func $exports/subOpt|trampoline (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/subOpt|trampoline (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(block $1of1
(block $0of1
(block $outOfRange
@ -221,12 +213,12 @@
(get_local $1)
)
)
(func $~setargc (; 13 ;) (type $iv) (param $0 i32)
(func $~setargc (; 11 ;) (type $iv) (param $0 i32)
(set_global $~argc
(get_local $0)
)
)
(func $exports/Car#constructor|trampoline (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/Car#constructor|trampoline (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(block $1of1
(block $0of1
(block $outOfRange

@ -69,15 +69,7 @@
(func $exports/Car.getNumTires (; 3 ;) (type $i) (result i32)
(get_global $exports/Car.TIRES)
)
(func $~lib/memory/memory.size (; 4 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 5 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -113,7 +105,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -158,14 +150,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -185,14 +177,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $exports/Car#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/Car#constructor (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(i32.store
(tee_local $0
@ -219,24 +211,24 @@
)
(get_local $0)
)
(func $exports/Car#get:numDoors (; 9 ;) (type $ii) (param $0 i32) (result i32)
(func $exports/Car#get:numDoors (; 7 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $exports/Car#set:numDoors (; 10 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $exports/Car#set:numDoors (; 8 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/Car#openDoors (; 11 ;) (type $iv) (param $0 i32)
(func $exports/Car#openDoors (; 9 ;) (type $iv) (param $0 i32)
(nop)
)
(func $exports/vehicles.Car.getNumTires (; 12 ;) (type $i) (result i32)
(func $exports/vehicles.Car.getNumTires (; 10 ;) (type $i) (result i32)
(get_global $exports/vehicles.Car.TIRES)
)
(func $exports/vehicles.Car#constructor (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/vehicles.Car#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(i32.store
(tee_local $0
@ -263,21 +255,21 @@
)
(get_local $0)
)
(func $exports/vehicles.Car#get:numDoors (; 14 ;) (type $ii) (param $0 i32) (result i32)
(func $exports/vehicles.Car#get:numDoors (; 12 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $exports/vehicles.Car#set:numDoors (; 15 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $exports/vehicles.Car#set:numDoors (; 13 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/vehicles.Car#openDoors (; 16 ;) (type $iv) (param $0 i32)
(func $exports/vehicles.Car#openDoors (; 14 ;) (type $iv) (param $0 i32)
(nop)
)
(func $start (; 17 ;) (type $v)
(func $start (; 15 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add
@ -294,7 +286,7 @@
(get_global $~lib/allocator/arena/startOffset)
)
)
(func $exports/subOpt|trampoline (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/subOpt|trampoline (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(block $1of1
(block $0of1
(block $outOfRange
@ -316,12 +308,12 @@
(get_local $1)
)
)
(func $~setargc (; 19 ;) (type $iv) (param $0 i32)
(func $~setargc (; 17 ;) (type $iv) (param $0 i32)
(set_global $~argc
(get_local $0)
)
)
(func $exports/Car#constructor|trampoline (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/Car#constructor|trampoline (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(block $1of1
(block $0of1
(block $outOfRange
@ -340,18 +332,18 @@
(get_local $1)
)
)
(func $Car#get:doors (; 21 ;) (type $ii) (param $0 i32) (result i32)
(func $Car#get:doors (; 19 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $Car#set:doors (; 22 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $Car#set:doors (; 20 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/vehicles.Car#constructor|trampoline (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/vehicles.Car#constructor|trampoline (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(block $1of1
(block $0of1
(block $outOfRange
@ -370,12 +362,12 @@
(get_local $1)
)
)
(func $vehicles.Car#get:doors (; 24 ;) (type $ii) (param $0 i32) (result i32)
(func $vehicles.Car#get:doors (; 22 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $vehicles.Car#set:doors (; 25 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $vehicles.Car#set:doors (; 23 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)

@ -1,113 +1,113 @@
(module
(type $v (func))
(global $i8.MIN_VALUE i32 (i32.const -128))
(global $i8.MAX_VALUE i32 (i32.const 127))
(global $i16.MIN_VALUE i32 (i32.const -32768))
(global $i16.MAX_VALUE i32 (i32.const 32767))
(global $i32.MIN_VALUE i32 (i32.const -2147483648))
(global $i32.MAX_VALUE i32 (i32.const 2147483647))
(global $i64.MIN_VALUE i64 (i64.const -9223372036854775808))
(global $i64.MAX_VALUE i64 (i64.const 9223372036854775807))
(global $isize.MIN_VALUE i32 (i32.const -2147483648))
(global $isize.MAX_VALUE i32 (i32.const 2147483647))
(global $u8.MIN_VALUE i32 (i32.const 0))
(global $u8.MAX_VALUE i32 (i32.const 255))
(global $u16.MIN_VALUE i32 (i32.const 0))
(global $u16.MAX_VALUE i32 (i32.const 65535))
(global $u32.MIN_VALUE i32 (i32.const 0))
(global $u32.MAX_VALUE i32 (i32.const -1))
(global $u64.MIN_VALUE i64 (i64.const 0))
(global $u64.MAX_VALUE i64 (i64.const -1))
(global $usize.MIN_VALUE i32 (i32.const 0))
(global $usize.MAX_VALUE i32 (i32.const -1))
(global $bool.MIN_VALUE i32 (i32.const 0))
(global $bool.MAX_VALUE i32 (i32.const 1))
(global $f32.MIN_SAFE_INTEGER f32 (f32.const -16777215))
(global $f32.MAX_SAFE_INTEGER f32 (f32.const 16777215))
(global $f64.MIN_SAFE_INTEGER f64 (f64.const -9007199254740991))
(global $f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991))
(global $~lib/builtins/i8.MIN_VALUE i32 (i32.const -128))
(global $~lib/builtins/i8.MAX_VALUE i32 (i32.const 127))
(global $~lib/builtins/i16.MIN_VALUE i32 (i32.const -32768))
(global $~lib/builtins/i16.MAX_VALUE i32 (i32.const 32767))
(global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648))
(global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647))
(global $~lib/builtins/i64.MIN_VALUE i64 (i64.const -9223372036854775808))
(global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807))
(global $~lib/builtins/isize.MIN_VALUE i32 (i32.const -2147483648))
(global $~lib/builtins/isize.MAX_VALUE i32 (i32.const 2147483647))
(global $~lib/builtins/u8.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/u8.MAX_VALUE i32 (i32.const 255))
(global $~lib/builtins/u16.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/u16.MAX_VALUE i32 (i32.const 65535))
(global $~lib/builtins/u32.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1))
(global $~lib/builtins/u64.MIN_VALUE i64 (i64.const 0))
(global $~lib/builtins/u64.MAX_VALUE i64 (i64.const -1))
(global $~lib/builtins/usize.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/usize.MAX_VALUE i32 (i32.const -1))
(global $~lib/builtins/bool.MIN_VALUE i32 (i32.const 0))
(global $~lib/builtins/bool.MAX_VALUE i32 (i32.const 1))
(global $~lib/builtins/f32.MIN_SAFE_INTEGER f32 (f32.const -16777215))
(global $~lib/builtins/f32.MAX_SAFE_INTEGER f32 (f32.const 16777215))
(global $~lib/builtins/f64.MIN_SAFE_INTEGER f64 (f64.const -9007199254740991))
(global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991))
(global $HEAP_BASE i32 (i32.const 8))
(memory $0 0)
(export "memory" (memory $0))
(start $start)
(func $start (; 0 ;) (type $v)
(drop
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
)
(drop
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
)
(drop
(get_global $i16.MIN_VALUE)
(get_global $~lib/builtins/i16.MIN_VALUE)
)
(drop
(get_global $i16.MAX_VALUE)
(get_global $~lib/builtins/i16.MAX_VALUE)
)
(drop
(get_global $i32.MIN_VALUE)
(get_global $~lib/builtins/i32.MIN_VALUE)
)
(drop
(get_global $i32.MAX_VALUE)
(get_global $~lib/builtins/i32.MAX_VALUE)
)
(drop
(get_global $i64.MIN_VALUE)
(get_global $~lib/builtins/i64.MIN_VALUE)
)
(drop
(get_global $i64.MAX_VALUE)
(get_global $~lib/builtins/i64.MAX_VALUE)
)
(drop
(get_global $isize.MIN_VALUE)
(get_global $~lib/builtins/isize.MIN_VALUE)
)
(drop
(get_global $isize.MAX_VALUE)
(get_global $~lib/builtins/isize.MAX_VALUE)
)
(drop
(get_global $u8.MIN_VALUE)
(get_global $~lib/builtins/u8.MIN_VALUE)
)
(drop
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
)
(drop
(get_global $u16.MIN_VALUE)
(get_global $~lib/builtins/u16.MIN_VALUE)
)
(drop
(get_global $u16.MAX_VALUE)
(get_global $~lib/builtins/u16.MAX_VALUE)
)
(drop
(get_global $u32.MIN_VALUE)
(get_global $~lib/builtins/u32.MIN_VALUE)
)
(drop
(get_global $u32.MAX_VALUE)
(get_global $~lib/builtins/u32.MAX_VALUE)
)
(drop
(get_global $u64.MIN_VALUE)
(get_global $~lib/builtins/u64.MIN_VALUE)
)
(drop
(get_global $u64.MAX_VALUE)
(get_global $~lib/builtins/u64.MAX_VALUE)
)
(drop
(get_global $usize.MIN_VALUE)
(get_global $~lib/builtins/usize.MIN_VALUE)
)
(drop
(get_global $usize.MAX_VALUE)
(get_global $~lib/builtins/usize.MAX_VALUE)
)
(drop
(get_global $bool.MIN_VALUE)
(get_global $~lib/builtins/bool.MIN_VALUE)
)
(drop
(get_global $bool.MAX_VALUE)
(get_global $~lib/builtins/bool.MAX_VALUE)
)
(drop
(get_global $f32.MIN_SAFE_INTEGER)
(get_global $~lib/builtins/f32.MIN_SAFE_INTEGER)
)
(drop
(get_global $f32.MAX_SAFE_INTEGER)
(get_global $~lib/builtins/f32.MAX_SAFE_INTEGER)
)
(drop
(get_global $f64.MIN_SAFE_INTEGER)
(get_global $~lib/builtins/f64.MIN_SAFE_INTEGER)
)
(drop
(get_global $f64.MAX_SAFE_INTEGER)
(get_global $~lib/builtins/f64.MAX_SAFE_INTEGER)
)
)
)

@ -268,7 +268,7 @@
)
)
)
(func $isFinite<f64> (; 1 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isFinite<f64> (; 1 ;) (type $Fi) (param $0 f64) (result i32)
(f64.eq
(f64.sub
(get_local $0)
@ -499,7 +499,7 @@
)
(tee_local $2
(if (result i32)
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(tee_local $6
(f64.div
(call $~lib/math/NativeMath.log

@ -310,7 +310,7 @@
)
)
)
(func $isFinite<f64> (; 1 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isFinite<f64> (; 1 ;) (type $Fi) (param $0 f64) (result i32)
(f64.eq
(f64.sub
(get_local $0)
@ -577,7 +577,7 @@
)
(set_local $17
(if (result i32)
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(get_local $15)
)
(i32.trunc_u/f64

@ -1,6 +1,5 @@
(module
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
@ -14,15 +13,7 @@
(data (i32.const 36) "\11\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -54,14 +45,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -89,7 +80,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -108,12 +99,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/memory/memcmp (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memcmp (; 3 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eq
@ -183,14 +174,14 @@
)
)
)
(func $~lib/memory/memory.compare (; 6 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memory.compare (; 4 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call $~lib/memory/memcmp
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/string/String.__eq (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eq
@ -253,7 +244,7 @@
)
)
)
(func $object-literal/bar (; 8 ;) (type $iv) (param $0 i32)
(func $object-literal/bar (; 6 ;) (type $iv) (param $0 i32)
(if
(i32.ne
(i32.load
@ -291,7 +282,7 @@
)
)
)
(func $object-literal/bar2 (; 9 ;) (type $iv) (param $0 i32)
(func $object-literal/bar2 (; 7 ;) (type $iv) (param $0 i32)
(if
(i32.ne
(i32.load
@ -310,7 +301,7 @@
)
)
)
(func $object-literal/Foo2#test (; 10 ;) (type $iv) (param $0 i32)
(func $object-literal/Foo2#test (; 8 ;) (type $iv) (param $0 i32)
(if
(i32.ne
(i32.load
@ -329,7 +320,7 @@
)
)
)
(func $start (; 11 ;) (type $v)
(func $start (; 9 ;) (type $v)
(local $0 i32)
(set_global $~lib/allocator/arena/startOffset
(i32.const 80)

@ -1,6 +1,5 @@
(module
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
@ -20,15 +19,7 @@
(data (i32.const 36) "\11\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -64,7 +55,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -109,14 +100,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -136,14 +127,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/memory/memcmp (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memcmp (; 3 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eq
@ -213,14 +204,14 @@
(i32.const 0)
)
)
(func $~lib/memory/memory.compare (; 6 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memory.compare (; 4 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call $~lib/memory/memcmp
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/string/String.__eq (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -283,7 +274,7 @@
)
)
)
(func $object-literal/bar (; 8 ;) (type $iv) (param $0 i32)
(func $object-literal/bar (; 6 ;) (type $iv) (param $0 i32)
(if
(i32.eqz
(i32.eq
@ -323,7 +314,7 @@
)
)
)
(func $object-literal/bar2 (; 9 ;) (type $iv) (param $0 i32)
(func $object-literal/bar2 (; 7 ;) (type $iv) (param $0 i32)
(if
(i32.eqz
(i32.eq
@ -344,7 +335,7 @@
)
)
)
(func $object-literal/Foo2#test (; 10 ;) (type $iv) (param $0 i32)
(func $object-literal/Foo2#test (; 8 ;) (type $iv) (param $0 i32)
(if
(i32.eqz
(i32.eq
@ -365,7 +356,7 @@
)
)
)
(func $start (; 11 ;) (type $v)
(func $start (; 9 ;) (type $v)
(local $0 i32)
(local $1 i32)
(local $2 i32)

@ -3,15 +3,15 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(global $i8.MAX_VALUE i32 (i32.const 127))
(global $i8.MIN_VALUE i32 (i32.const -128))
(global $u8.MAX_VALUE i32 (i32.const 255))
(global $i16.MIN_VALUE i32 (i32.const -32768))
(global $i16.MAX_VALUE i32 (i32.const 32767))
(global $u16.MAX_VALUE i32 (i32.const 65535))
(global $i32.MAX_VALUE i32 (i32.const 2147483647))
(global $i32.MIN_VALUE i32 (i32.const -2147483648))
(global $u32.MAX_VALUE i32 (i32.const -1))
(global $~lib/builtins/i8.MAX_VALUE i32 (i32.const 127))
(global $~lib/builtins/i8.MIN_VALUE i32 (i32.const -128))
(global $~lib/builtins/u8.MAX_VALUE i32 (i32.const 255))
(global $~lib/builtins/i16.MIN_VALUE i32 (i32.const -32768))
(global $~lib/builtins/i16.MAX_VALUE i32 (i32.const 32767))
(global $~lib/builtins/u16.MAX_VALUE i32 (i32.const 65535))
(global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647))
(global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648))
(global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1))
(global $retain-i32/si (mut i32) (i32.const 0))
(global $retain-i32/ui (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 40))
@ -473,106 +473,106 @@
(local $0 i32)
(call $retain-i32/test
(i32.const 0)
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
)
(call $retain-i32/test
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
(i32.const 0)
)
(call $retain-i32/test
(i32.const 1)
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
)
(call $retain-i32/test
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
(i32.const 1)
)
(call $retain-i32/test
(i32.const -1)
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
)
(call $retain-i32/test
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
(i32.const -1)
)
(call $retain-i32/test
(i32.const 0)
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
)
(call $retain-i32/test
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
(i32.const 0)
)
(call $retain-i32/test
(i32.const 1)
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
)
(call $retain-i32/test
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
(i32.const 1)
)
(call $retain-i32/test
(i32.const -1)
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
)
(call $retain-i32/test
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
(i32.const -1)
)
(call $retain-i32/test
(get_global $i8.MAX_VALUE)
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
)
(call $retain-i32/test
(get_global $i8.MIN_VALUE)
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
)
(call $retain-i32/test
(get_global $i8.MAX_VALUE)
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
)
(call $retain-i32/test
(get_global $i8.MIN_VALUE)
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
)
(call $retain-i32/test
(i32.const 0)
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
)
(call $retain-i32/test
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
(i32.const 0)
)
(call $retain-i32/test
(i32.const 1)
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
)
(call $retain-i32/test
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
(i32.const 1)
)
(call $retain-i32/test
(i32.const -1)
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
)
(call $retain-i32/test
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
(i32.const -1)
)
(call $retain-i32/test
(get_global $u8.MAX_VALUE)
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
)
(block $break|0
(set_local $0
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
)
(loop $repeat|0
(br_if $break|0
(i32.eqz
(i32.le_s
(get_local $0)
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
)
)
)
@ -590,39 +590,39 @@
(get_local $0)
)
(call $retain-i32/test
(get_global $i8.MIN_VALUE)
(get_global $~lib/builtins/i8.MIN_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $i8.MAX_VALUE)
(get_global $~lib/builtins/i8.MAX_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $u8.MAX_VALUE)
(get_global $~lib/builtins/u8.MAX_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $i16.MIN_VALUE)
(get_global $~lib/builtins/i16.MIN_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $i16.MAX_VALUE)
(get_global $~lib/builtins/i16.MAX_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $u16.MAX_VALUE)
(get_global $~lib/builtins/u16.MAX_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $i32.MAX_VALUE)
(get_global $~lib/builtins/i32.MAX_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $i32.MIN_VALUE)
(get_global $~lib/builtins/i32.MIN_VALUE)
(get_local $0)
)
(call $retain-i32/test
(get_global $u32.MAX_VALUE)
(get_global $~lib/builtins/u32.MAX_VALUE)
(get_local $0)
)
)

@ -1,6 +1,5 @@
(module
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
@ -16,15 +15,7 @@
(data (i32.const 8) "\16\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -56,14 +47,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -91,7 +82,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -110,12 +101,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 3 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -445,14 +436,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 4 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/memory/memcpy (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1838,7 +1829,7 @@
)
)
)
(func $~lib/memory/memmove (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -2130,14 +2121,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/memory/memcmp (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memcmp (; 8 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eq
@ -2207,30 +2198,30 @@
)
)
)
(func $~lib/memory/memory.compare (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memory.compare (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call $~lib/memory/memcmp
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/allocator/arena/__memory_free (; 12 ;) (type $iv) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 10 ;) (type $iv) (param $0 i32)
(nop)
)
(func $~lib/memory/memory.free (; 13 ;) (type $iv) (param $0 i32)
(func $~lib/memory/memory.free (; 11 ;) (type $iv) (param $0 i32)
(call $~lib/allocator/arena/__memory_free
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_reset (; 14 ;) (type $v)
(func $~lib/allocator/arena/__memory_reset (; 12 ;) (type $v)
(set_global $~lib/allocator/arena/offset
(get_global $~lib/allocator/arena/startOffset)
)
)
(func $~lib/memory/memory.reset (; 15 ;) (type $v)
(func $~lib/memory/memory.reset (; 13 ;) (type $v)
(call $~lib/allocator/arena/__memory_reset)
)
(func $start (; 16 ;) (type $v)
(func $start (; 14 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 56)
)

@ -1,6 +1,5 @@
(module
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
@ -22,15 +21,7 @@
(data (i32.const 8) "\16\00\00\00s\00t\00d\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00_\00a\00r\00e\00n\00a\00.\00t\00s\00")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -66,7 +57,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -111,14 +102,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -138,14 +129,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 3 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -497,14 +488,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 4 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/memory/memcpy (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2306,7 +2297,7 @@
)
)
)
(func $~lib/memory/memmove (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(if
(i32.eq
@ -2624,14 +2615,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/memory/memcmp (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memcmp (; 8 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eq
@ -2701,32 +2692,32 @@
(i32.const 0)
)
)
(func $~lib/memory/memory.compare (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memory.compare (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call $~lib/memory/memcmp
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/allocator/arena/__memory_free (; 12 ;) (type $iv) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 10 ;) (type $iv) (param $0 i32)
(nop)
)
(func $~lib/memory/memory.free (; 13 ;) (type $iv) (param $0 i32)
(func $~lib/memory/memory.free (; 11 ;) (type $iv) (param $0 i32)
(call $~lib/allocator/arena/__memory_free
(get_local $0)
)
(return)
)
(func $~lib/allocator/arena/__memory_reset (; 14 ;) (type $v)
(func $~lib/allocator/arena/__memory_reset (; 12 ;) (type $v)
(set_global $~lib/allocator/arena/offset
(get_global $~lib/allocator/arena/startOffset)
)
)
(func $~lib/memory/memory.reset (; 15 ;) (type $v)
(func $~lib/memory/memory.reset (; 13 ;) (type $v)
(call $~lib/allocator/arena/__memory_reset)
(return)
)
(func $start (; 16 ;) (type $v)
(func $start (; 14 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -2,7 +2,6 @@
(type $ii (func (param i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $i (func (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -67,15 +66,7 @@
)
)
)
(func $~lib/memory/memory.size (; 4 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 5 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -107,14 +98,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -142,7 +133,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -161,12 +152,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 8 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -195,7 +186,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -525,14 +516,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/array/Array<i32>#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -597,7 +588,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#__unchecked_set (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#__unchecked_set (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(i32.store offset=8
(i32.add
(i32.load
@ -611,7 +602,7 @@
(get_local $2)
)
)
(func $start (; 13 ;) (type $v)
(func $start (; 11 ;) (type $v)
(local $0 i32)
(set_global $~lib/allocator/arena/startOffset
(i32.const 184)

@ -2,7 +2,6 @@
(type $ii (func (param i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $i (func (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -79,15 +78,7 @@
)
)
)
(func $~lib/memory/memory.size (; 4 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 5 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -123,7 +114,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -168,14 +159,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -195,14 +186,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 8 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
@ -234,7 +225,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -586,14 +577,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/array/Array<i32>#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -664,7 +655,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#__unchecked_set (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#__unchecked_set (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(block $~lib/internal/arraybuffer/storeUnsafe<i32,i32>|inlined.0
(set_local $3
@ -684,7 +675,7 @@
)
)
)
(func $start (; 13 ;) (type $v)
(func $start (; 11 ;) (type $v)
(local $0 i32)
(set_global $~lib/allocator/arena/startOffset
(i32.and

@ -2,7 +2,6 @@
(type $iii (func (param i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiv (func (param i32 i32)))
@ -89,15 +88,7 @@
)
)
)
(func $~lib/memory/memory.size (; 3 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 4 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -129,14 +120,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -164,7 +155,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -183,12 +174,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 5 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -217,7 +208,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -547,14 +538,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/array/Array<i32>#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -619,12 +610,12 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#get:length (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/array/Array<i32>#get:length (; 9 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=4
(get_local $0)
)
)
(func $std/array/internalCapacity<i32> (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array/internalCapacity<i32> (; 10 ;) (type $ii) (param $0 i32) (result i32)
(i32.shr_s
(i32.load
(i32.load
@ -634,7 +625,7 @@
(i32.const 2)
)
)
(func $~lib/memory/memcpy (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2020,7 +2011,7 @@
)
)
)
(func $~lib/memory/memmove (; 14 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -2312,14 +2303,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 15 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/internal/arraybuffer/reallocUnsafe (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/arraybuffer/reallocUnsafe (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -2443,7 +2434,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#push (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#push (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2517,7 +2508,7 @@
)
(get_local $3)
)
(func $~lib/array/Array<i32>#__get (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#__get (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(i32.lt_u
@ -2546,7 +2537,7 @@
)
)
)
(func $~lib/array/Array<i32>#pop (; 19 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/array/Array<i32>#pop (; 17 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(if
@ -2592,7 +2583,7 @@
)
(get_local $2)
)
(func $~lib/array/Array<i32>#unshift (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#unshift (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2688,7 +2679,7 @@
)
(get_local $3)
)
(func $~lib/array/Array<i32>#shift (; 21 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/array/Array<i32>#shift (; 19 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -2755,7 +2746,7 @@
)
(get_local $3)
)
(func $~lib/array/Array<i32>#reverse (; 22 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/array/Array<i32>#reverse (; 20 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -2837,7 +2828,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#indexOf (; 23 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/array/Array<i32>#indexOf (; 21 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(if
@ -2927,7 +2918,7 @@
)
(i32.const -1)
)
(func $~lib/array/Array<i32>#includes (; 24 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/array/Array<i32>#includes (; 22 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(if
@ -3017,7 +3008,7 @@
)
(i32.const 0)
)
(func $~lib/array/Array<i32>#splice (; 25 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#splice (; 23 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -3118,7 +3109,7 @@
)
)
)
(func $~lib/array/Array<i32>#__set (; 26 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#__set (; 24 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -3185,12 +3176,12 @@
(get_local $2)
)
)
(func $start~anonymous|0 (; 27 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|0 (; 25 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.eqz
(get_local $0)
)
)
(func $~lib/array/Array<i32>#findIndex (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#findIndex (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3266,19 +3257,19 @@
)
(i32.const -1)
)
(func $start~anonymous|1 (; 29 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|1 (; 27 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.eq
(get_local $0)
(i32.const 1)
)
)
(func $start~anonymous|2 (; 30 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|2 (; 28 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.eq
(get_local $0)
(i32.const 100)
)
)
(func $start~anonymous|3 (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|3 (; 29 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#push
(get_local $2)
@ -3290,7 +3281,7 @@
(i32.const 100)
)
)
(func $start~anonymous|5 (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|5 (; 30 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#pop
(get_local $2)
@ -3301,13 +3292,13 @@
(i32.const 100)
)
)
(func $start~anonymous|6 (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|6 (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.ge_s
(get_local $0)
(i32.const 0)
)
)
(func $~lib/array/Array<i32>#every (; 34 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#every (; 32 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3383,13 +3374,13 @@
)
(i32.const 1)
)
(func $start~anonymous|7 (; 35 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|7 (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.le_s
(get_local $0)
(i32.const 0)
)
)
(func $start~anonymous|8 (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|8 (; 34 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#push
(get_local $2)
@ -3401,13 +3392,13 @@
(i32.const 10)
)
)
(func $start~anonymous|9 (; 37 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|9 (; 35 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.lt_s
(get_local $0)
(i32.const 10)
)
)
(func $start~anonymous|10 (; 38 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|10 (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#pop
(get_local $2)
@ -3418,13 +3409,13 @@
(i32.const 3)
)
)
(func $start~anonymous|11 (; 39 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|11 (; 37 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.ge_s
(get_local $0)
(i32.const 3)
)
)
(func $~lib/array/Array<i32>#some (; 40 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#some (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3500,13 +3491,13 @@
)
(i32.const 0)
)
(func $start~anonymous|12 (; 41 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|12 (; 39 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.le_s
(get_local $0)
(i32.const -1)
)
)
(func $start~anonymous|13 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|13 (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#push
(get_local $2)
@ -3518,13 +3509,13 @@
(i32.const 10)
)
)
(func $start~anonymous|14 (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|14 (; 41 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.gt_s
(get_local $0)
(i32.const 10)
)
)
(func $start~anonymous|15 (; 44 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|15 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#pop
(get_local $2)
@ -3535,7 +3526,7 @@
(i32.const 3)
)
)
(func $start~anonymous|16 (; 45 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $start~anonymous|16 (; 43 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(set_global $std/array/i
(i32.add
(get_global $std/array/i)
@ -3543,7 +3534,7 @@
)
)
)
(func $~lib/array/Array<i32>#forEach (; 46 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<i32>#forEach (; 44 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3608,7 +3599,7 @@
)
)
)
(func $start~anonymous|17 (; 47 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $start~anonymous|17 (; 45 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(drop
(call $~lib/array/Array<i32>#push
(get_local $2)
@ -3622,7 +3613,7 @@
)
)
)
(func $start~anonymous|19 (; 48 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $start~anonymous|19 (; 46 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(drop
(call $~lib/array/Array<i32>#pop
(get_local $2)
@ -3635,12 +3626,12 @@
)
)
)
(func $start~anonymous|20 (; 49 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(func $start~anonymous|20 (; 47 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(f32.convert_s/i32
(get_local $0)
)
)
(func $~lib/array/Array<i32>#map<f32> (; 50 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#map<f32> (; 48 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3726,7 +3717,7 @@
)
(get_local $6)
)
(func $~lib/array/Array<f32>#__get (; 51 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(func $~lib/array/Array<f32>#__get (; 49 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(if (result f32)
(i32.lt_u
(get_local $1)
@ -3753,7 +3744,7 @@
(unreachable)
)
)
(func $start~anonymous|21 (; 52 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|21 (; 50 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#push
(get_local $2)
@ -3768,7 +3759,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#map<i32> (; 53 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#map<i32> (; 51 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3854,7 +3845,7 @@
)
(get_local $6)
)
(func $start~anonymous|22 (; 54 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|22 (; 52 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_global $std/array/i
(i32.add
(get_global $std/array/i)
@ -3863,7 +3854,7 @@
)
(get_local $0)
)
(func $start~anonymous|23 (; 55 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|23 (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#pop
(get_local $2)
@ -3877,13 +3868,13 @@
)
(get_local $0)
)
(func $start~anonymous|24 (; 56 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|24 (; 54 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(i32.ge_s
(get_local $0)
(i32.const 2)
)
)
(func $~lib/array/Array<i32>#filter (; 57 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#filter (; 55 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3970,7 +3961,7 @@
)
(get_local $4)
)
(func $start~anonymous|25 (; 58 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|25 (; 56 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#push
(get_local $2)
@ -3988,7 +3979,7 @@
(i32.const 2)
)
)
(func $start~anonymous|26 (; 59 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|26 (; 57 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_global $std/array/i
(i32.add
(get_global $std/array/i)
@ -4000,7 +3991,7 @@
(i32.const 2)
)
)
(func $start~anonymous|27 (; 60 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $start~anonymous|27 (; 58 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#pop
(get_local $2)
@ -4017,13 +4008,13 @@
(i32.const 2)
)
)
(func $start~anonymous|28 (; 61 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start~anonymous|28 (; 59 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(i32.add
(get_local $0)
(get_local $1)
)
)
(func $~lib/array/Array<i32>#reduce<i32> (; 62 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/array/Array<i32>#reduce<i32> (; 60 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4092,7 +4083,7 @@
)
(get_local $2)
)
(func $start~anonymous|30 (; 63 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start~anonymous|30 (; 61 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(if (result i32)
(i32.and
(get_local $0)
@ -4105,7 +4096,7 @@
)
)
)
(func $start~anonymous|31 (; 64 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start~anonymous|31 (; 62 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(if (result i32)
(i32.and
(get_local $0)
@ -4118,7 +4109,7 @@
)
)
)
(func $start~anonymous|32 (; 65 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start~anonymous|32 (; 63 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#push
(get_local $3)
@ -4130,7 +4121,7 @@
(get_local $1)
)
)
(func $start~anonymous|34 (; 66 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $start~anonymous|34 (; 64 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(drop
(call $~lib/array/Array<i32>#pop
(get_local $3)
@ -4141,7 +4132,7 @@
(get_local $1)
)
)
(func $~lib/array/Array<i32>#reduceRight<i32> (; 67 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/array/Array<i32>#reduceRight<i32> (; 65 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $4
@ -4196,7 +4187,7 @@
)
(get_local $2)
)
(func $~lib/math/murmurHash3 (; 68 ;) (type $II) (param $0 i64) (result i64)
(func $~lib/math/murmurHash3 (; 66 ;) (type $II) (param $0 i64) (result i64)
(i64.xor
(tee_local $0
(i64.mul
@ -4227,7 +4218,7 @@
)
)
)
(func $~lib/math/NativeMath.seedRandom (; 69 ;) (type $Iv) (param $0 i64)
(func $~lib/math/NativeMath.seedRandom (; 67 ;) (type $Iv) (param $0 i64)
(if
(i64.eqz
(get_local $0)
@ -4256,7 +4247,7 @@
)
)
)
(func $std/array/createReverseOrderedArray (; 70 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array/createReverseOrderedArray (; 68 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(call $~lib/array/Array<i32>#constructor
@ -4301,7 +4292,7 @@
)
(get_local $1)
)
(func $~lib/math/NativeMath.random (; 71 ;) (type $F) (result f64)
(func $~lib/math/NativeMath.random (; 69 ;) (type $F) (result f64)
(local $0 i64)
(local $1 i64)
(if
@ -4370,7 +4361,7 @@
(f64.const 1)
)
)
(func $std/array/createRandomOrderedArray (; 72 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array/createRandomOrderedArray (; 70 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $0
(call $~lib/array/Array<i32>#constructor
@ -4413,7 +4404,7 @@
)
(get_local $0)
)
(func $std/array/assertSortedDefault<i32>~anonymous|42 (; 73 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/array/assertSortedDefault<i32>~anonymous|42 (; 71 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(i32.gt_s
(get_local $0)
@ -4425,7 +4416,7 @@
)
)
)
(func $~lib/internal/array/insertionSort<i32> (; 74 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/array/insertionSort<i32> (; 72 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4552,15 +4543,15 @@
)
(get_local $0)
)
(func $~lib/allocator/arena/__memory_free (; 75 ;) (type $iv) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 73 ;) (type $iv) (param $0 i32)
(nop)
)
(func $~lib/memory/memory.free (; 76 ;) (type $iv) (param $0 i32)
(func $~lib/memory/memory.free (; 74 ;) (type $iv) (param $0 i32)
(call $~lib/allocator/arena/__memory_free
(get_local $0)
)
)
(func $~lib/internal/array/weakHeapSort<i32> (; 77 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/array/weakHeapSort<i32> (; 75 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4964,7 +4955,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#sort (; 78 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<i32>#sort (; 76 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5067,7 +5058,7 @@
)
)
)
(func $std/array/isSorted<i32> (; 79 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/array/isSorted<i32> (; 77 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(block $break|0
@ -5124,7 +5115,7 @@
)
(i32.const 1)
)
(func $std/array/assertSorted<i32> (; 80 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $std/array/assertSorted<i32> (; 78 ;) (type $iiv) (param $0 i32) (param $1 i32)
(if
(i32.eqz
(call $std/array/isSorted<i32>
@ -5146,13 +5137,13 @@
)
)
)
(func $std/array/assertSortedDefault<i32> (; 81 ;) (type $iv) (param $0 i32)
(func $std/array/assertSortedDefault<i32> (; 79 ;) (type $iv) (param $0 i32)
(call $std/array/assertSorted<i32>
(get_local $0)
(i32.const 42)
)
)
(func $std/array/isArraysEqual<i32> (; 82 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/array/isArraysEqual<i32> (; 80 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eqz
@ -5215,19 +5206,19 @@
)
(i32.const 1)
)
(func $start~anonymous|43 (; 83 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start~anonymous|43 (; 81 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(get_local $0)
(get_local $1)
)
)
(func $start~anonymous|44 (; 84 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start~anonymous|44 (; 82 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(get_local $1)
(get_local $0)
)
)
(func $std/array/createReverseOrderedNestedArray (; 85 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array/createReverseOrderedNestedArray (; 83 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(call $~lib/array/Array<i32>#constructor
@ -5283,7 +5274,7 @@
)
(get_local $1)
)
(func $start~anonymous|47 (; 86 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start~anonymous|47 (; 84 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(call $~lib/array/Array<i32>#__get
(get_local $0)
@ -5295,7 +5286,7 @@
)
)
)
(func $~lib/array/Array<Array<i32>>#sort (; 87 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<Array<i32>>#sort (; 85 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5386,7 +5377,7 @@
(get_local $1)
)
)
(func $std/array/assertSorted<Array<i32>> (; 88 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $std/array/assertSorted<Array<i32>> (; 86 ;) (type $iiv) (param $0 i32) (param $1 i32)
(if
(i32.eqz
(call $std/array/isSorted<i32>
@ -5408,7 +5399,7 @@
)
)
)
(func $std/array/Proxy<i32>#constructor (; 89 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/array/Proxy<i32>#constructor (; 87 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -5424,7 +5415,7 @@
)
(get_local $0)
)
(func $std/array/createReverseOrderedElementsArray (; 90 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array/createReverseOrderedElementsArray (; 88 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(call $~lib/array/Array<i32>#constructor
@ -5472,7 +5463,7 @@
)
(get_local $1)
)
(func $start~anonymous|48 (; 91 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start~anonymous|48 (; 89 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(i32.load
(get_local $0)
@ -5482,7 +5473,7 @@
)
)
)
(func $~lib/memory/memcmp (; 92 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memcmp (; 90 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eq
@ -5552,14 +5543,14 @@
)
)
)
(func $~lib/memory/memory.compare (; 93 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memory.compare (; 91 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call $~lib/memory/memcmp
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/string/String.__gt (; 94 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gt (; 92 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -5643,7 +5634,7 @@
(i32.const 0)
)
)
(func $~lib/string/String.__lt (; 95 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__lt (; 93 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -5727,7 +5718,7 @@
(i32.const 0)
)
)
(func $start~anonymous|49 (; 96 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $start~anonymous|49 (; 94 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(call $~lib/string/String.__gt
(get_local $0)
@ -5739,7 +5730,7 @@
)
)
)
(func $~lib/string/String.__eq (; 97 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 95 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eq
@ -5802,7 +5793,7 @@
)
)
)
(func $~lib/string/String.__ne (; 98 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__ne (; 96 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.eqz
(call $~lib/string/String.__eq
(get_local $0)
@ -5810,7 +5801,7 @@
)
)
)
(func $std/array/isArraysEqual<String> (; 99 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/array/isArraysEqual<String> (; 97 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eqz
@ -5873,7 +5864,7 @@
)
(i32.const 1)
)
(func $~lib/internal/string/allocate (; 100 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/string/allocate (; 98 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(tee_local $1
@ -5919,7 +5910,7 @@
)
(get_local $1)
)
(func $~lib/string/String#charAt (; 101 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#charAt (; 99 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -5964,7 +5955,7 @@
)
(get_local $2)
)
(func $~lib/string/String#concat (; 102 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 100 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6050,7 +6041,7 @@
)
(get_local $2)
)
(func $~lib/string/String.__concat (; 103 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 101 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -6064,7 +6055,7 @@
(get_local $1)
)
)
(func $std/array/createRandomString (; 104 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array/createRandomString (; 102 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(set_local $1
@ -6109,7 +6100,7 @@
)
(get_local $1)
)
(func $std/array/createRandomStringArray (; 105 ;) (type $ii) (param $0 i32) (result i32)
(func $std/array/createRandomStringArray (; 103 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(call $~lib/array/Array<i32>#constructor
@ -6153,7 +6144,7 @@
)
(get_local $1)
)
(func $start (; 106 ;) (type $v)
(func $start (; 104 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 792)
)

File diff suppressed because it is too large Load Diff

@ -2,7 +2,6 @@
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -31,15 +30,7 @@
)
)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -71,14 +62,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -106,7 +97,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -125,12 +116,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -159,7 +150,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -489,14 +480,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -536,7 +527,7 @@
)
(get_local $3)
)
(func $~lib/memory/memcpy (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1922,7 +1913,7 @@
)
)
)
(func $~lib/memory/memmove (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -2214,14 +2205,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 13 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $4
@ -2324,7 +2315,7 @@
)
(get_local $2)
)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 12 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(block $2of2
(block $1of2
(block $0of2
@ -2349,7 +2340,7 @@
(get_local $2)
)
)
(func $start (; 15 ;) (type $v)
(func $start (; 13 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 152)
)

@ -2,7 +2,6 @@
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -41,15 +40,7 @@
)
)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -85,7 +76,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -130,14 +121,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -157,14 +148,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
@ -196,7 +187,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -548,14 +539,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -595,7 +586,7 @@
)
(get_local $3)
)
(func $~lib/memory/memcpy (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2397,7 +2388,7 @@
)
)
)
(func $~lib/memory/memmove (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(if
(i32.eq
@ -2715,14 +2706,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 13 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#slice (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2845,7 +2836,7 @@
)
(get_local $7)
)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#slice|trampoline (; 12 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(block $2of2
(block $1of2
(block $0of2
@ -2870,7 +2861,7 @@
(get_local $2)
)
)
(func $start (; 15 ;) (type $v)
(func $start (; 13 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -1,6 +1,5 @@
(module
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $v (func))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
@ -18,15 +17,7 @@
(memory $0 0)
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 0 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 1 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -58,14 +49,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -93,7 +84,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -112,12 +103,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $std/constructor/EmptyCtor#constructor (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/EmptyCtor#constructor (; 2 ;) (type $ii) (param $0 i32) (result i32)
(if (result i32)
(get_local $0)
(get_local $0)
@ -126,7 +117,7 @@
)
)
)
(func $std/constructor/EmptyCtorWithFieldInit#constructor (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/EmptyCtorWithFieldInit#constructor (; 3 ;) (type $ii) (param $0 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -142,7 +133,7 @@
)
(get_local $0)
)
(func $std/constructor/EmptyCtorWithFieldNoInit#constructor (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/EmptyCtorWithFieldNoInit#constructor (; 4 ;) (type $ii) (param $0 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -158,12 +149,12 @@
)
(get_local $0)
)
(func $std/constructor/CtorReturns#constructor (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/CtorReturns#constructor (; 5 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/memory/memory.allocate
(i32.const 0)
)
)
(func $std/constructor/CtorConditionallyReturns#constructor (; 8 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/CtorConditionallyReturns#constructor (; 6 ;) (type $ii) (param $0 i32) (result i32)
(if
(get_global $std/constructor/b)
(return
@ -180,7 +171,7 @@
)
)
)
(func $std/constructor/CtorConditionallyAllocates#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/CtorConditionallyAllocates#constructor (; 7 ;) (type $ii) (param $0 i32) (result i32)
(if
(get_global $std/constructor/b)
(if
@ -206,7 +197,7 @@
)
(get_local $0)
)
(func $start (; 10 ;) (type $v)
(func $start (; 8 ;) (type $v)
(local $0 i32)
(set_global $~lib/allocator/arena/startOffset
(i32.const 8)

@ -1,6 +1,5 @@
(module
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $v (func))
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
@ -23,15 +22,7 @@
(memory $0 0)
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 0 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 1 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -67,7 +58,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -112,14 +103,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -139,14 +130,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $std/constructor/EmptyCtor#constructor (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/EmptyCtor#constructor (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(tee_local $0
(if (result i32)
@ -165,7 +156,7 @@
)
)
)
(func $std/constructor/EmptyCtorWithFieldInit#constructor (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/EmptyCtorWithFieldInit#constructor (; 3 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(tee_local $0
(if (result i32)
@ -188,7 +179,7 @@
)
)
)
(func $std/constructor/EmptyCtorWithFieldNoInit#constructor (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/EmptyCtorWithFieldNoInit#constructor (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(tee_local $0
(if (result i32)
@ -211,12 +202,12 @@
)
)
)
(func $std/constructor/CtorReturns#constructor (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/CtorReturns#constructor (; 5 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/memory/memory.allocate
(i32.const 0)
)
)
(func $std/constructor/CtorConditionallyReturns#constructor (; 8 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/CtorConditionallyReturns#constructor (; 6 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(get_global $std/constructor/b)
@ -243,7 +234,7 @@
)
)
)
(func $std/constructor/CtorAllocates#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/CtorAllocates#constructor (; 7 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(drop
(tee_local $0
@ -265,7 +256,7 @@
)
(get_local $0)
)
(func $std/constructor/CtorConditionallyAllocates#constructor (; 10 ;) (type $ii) (param $0 i32) (result i32)
(func $std/constructor/CtorConditionallyAllocates#constructor (; 8 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(get_global $std/constructor/b)
@ -305,7 +296,7 @@
)
)
)
(func $start (; 11 ;) (type $v)
(func $start (; 9 ;) (type $v)
(local $0 i32)
(set_global $~lib/allocator/arena/startOffset
(i32.and

@ -34,7 +34,7 @@
(i32.const 0)
(i32.const 8)
(i32.const 14)
(i32.const 43)
(i32.const 40)
)
(unreachable)
)

@ -11,5 +11,5 @@ var a_ref: A | null = changetype<A>(24);
var b_ref: B = changetype<B>(32);
var i: i32 = 0;
__gc_iterate_roots((ref: usize): void => { assert(<u32>ref == ++i << 3); });
gc.iterateRoots((ref: usize): void => { assert(<u32>ref == ++i << 3); });
assert(i == 4);

@ -41,7 +41,7 @@
(i32.const 0)
(i32.const 8)
(i32.const 14)
(i32.const 43)
(i32.const 40)
)
(unreachable)
)

@ -3,7 +3,6 @@
(type $iii (func (param i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiv (func (param i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -25,15 +24,7 @@
(func $std/gc/MyObject_visit (; 1 ;) (type $iv) (param $0 i32)
(nop)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -65,14 +56,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -100,7 +91,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -119,12 +110,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/collector/itcm/ManagedObject#makeWhite (; 6 ;) (type $iv) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#makeWhite (; 4 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(i32.or
@ -138,7 +129,7 @@
)
)
)
(func $~lib/collector/itcm/ManagedObject#set:next (; 7 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:next (; 5 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(i32.or
@ -152,7 +143,7 @@
)
)
)
(func $~lib/collector/itcm/ManagedObject#insert (; 8 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#insert (; 6 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(set_local $2
(i32.load offset=4
@ -176,7 +167,7 @@
(get_local $1)
)
)
(func $~lib/collector/itcm/gc.alloc (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/collector/itcm/gc.alloc (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.gt_u
@ -216,7 +207,7 @@
(i32.const 16)
)
)
(func $start (; 10 ;) (type $v)
(func $start (; 8 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 80)
)

@ -3,7 +3,6 @@
(type $iii (func (param i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiv (func (param i32 i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -40,15 +39,7 @@
(func $std/gc/MyObject_visit (; 1 ;) (type $iv) (param $0 i32)
(nop)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -84,7 +75,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -129,14 +120,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -156,14 +147,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/collector/itcm/ManagedObject#makeWhite (; 6 ;) (type $iv) (param $0 i32)
(func $~lib/collector/itcm/ManagedObject#makeWhite (; 4 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(i32.or
@ -180,7 +171,7 @@
)
)
)
(func $~lib/collector/itcm/ManagedObject#set:next (; 7 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#set:next (; 5 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(i32.or
@ -194,7 +185,7 @@
)
)
)
(func $~lib/collector/itcm/ManagedObject#insert (; 8 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/collector/itcm/ManagedObject#insert (; 6 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(set_local $2
(i32.load offset=4
@ -218,7 +209,7 @@
(get_local $1)
)
)
(func $~lib/collector/itcm/gc.alloc (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/collector/itcm/gc.alloc (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -264,7 +255,7 @@
(get_global $~lib/collector/itcm/ManagedObject.SIZE)
)
)
(func $start (; 10 ;) (type $v)
(func $start (; 8 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -1308,7 +1308,7 @@
(get_local $0)
)
)
(func $isNaN<f64> (; 12 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 12 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -1346,7 +1346,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -1797,13 +1797,13 @@
(if
(i32.eqz
(tee_local $2
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
)
(set_local $2
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -2390,7 +2390,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -2943,7 +2943,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return

@ -21,7 +21,7 @@
(global $~lib/math/NativeMath.SQRT2 f64 (f64.const 1.4142135623730951))
(global $std/libm/SQRT2 f64 (f64.const 1.4142135623730951))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $f64.EPSILON f64 (f64.const 2.220446049250313e-16))
(global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16))
(global $HEAP_BASE i32 (i32.const 8))
(memory $0 0)
(export "memory" (memory $0))
@ -1503,7 +1503,7 @@
(get_local $0)
)
)
(func $isNaN<f64> (; 12 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 12 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -1547,7 +1547,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -2045,12 +2045,12 @@
(if
(if (result i32)
(tee_local $2
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
(get_local $2)
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -2807,7 +2807,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -3394,7 +3394,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return

@ -1,7 +1,6 @@
(module
(type $v (func))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
@ -27,15 +26,7 @@
(data (i32.const 112) "\n\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -67,14 +58,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -102,7 +93,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -121,12 +112,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/computeSize (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 3 ;) (type $ii) (param $0 i32) (result i32)
(i32.shl
(i32.const 1)
(i32.sub
@ -140,7 +131,7 @@
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -169,7 +160,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -499,14 +490,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -546,7 +537,7 @@
)
(get_local $3)
)
(func $~lib/map/Map<i8,i32>#clear (; 10 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<i8,i32>#clear (; 8 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -580,7 +571,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i8,i32>#constructor (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i8,i32>#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -621,7 +612,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash8 (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash8 (; 10 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(get_local $0)
@ -630,7 +621,7 @@
(i32.const 16777619)
)
)
(func $~lib/map/Map<i8,i32>#find (; 13 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<i8,i32>#find (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -696,7 +687,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i8,i32>#has (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i8,i32>#has (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i8,i32>#find
(get_local $0)
@ -714,7 +705,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i8,i32>#rehash (; 15 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i8,i32>#rehash (; 13 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -877,7 +868,7 @@
)
)
)
(func $~lib/map/Map<i8,i32>#set (; 16 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<i8,i32>#set (; 14 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1020,7 +1011,7 @@
)
)
)
(func $~lib/map/Map<i8,i32>#get (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i8,i32>#get (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -1045,12 +1036,12 @@
)
)
)
(func $~lib/map/Map<i8,i32>#get:size (; 18 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i8,i32>#get:size (; 16 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<i8,i32>#delete (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i8,i32>#delete (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -1151,7 +1142,7 @@
)
(i32.const 1)
)
(func $std/map/test<i8,i32> (; 20 ;) (type $v)
(func $std/map/test<i8,i32> (; 18 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -1637,7 +1628,7 @@
)
)
)
(func $~lib/map/Map<u8,i32>#has (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u8,i32>#has (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i8,i32>#find
(get_local $0)
@ -1652,7 +1643,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u8,i32>#rehash (; 22 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<u8,i32>#rehash (; 20 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1815,7 +1806,7 @@
)
)
)
(func $~lib/map/Map<u8,i32>#set (; 23 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<u8,i32>#set (; 21 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1955,7 +1946,7 @@
)
)
)
(func $~lib/map/Map<u8,i32>#get (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u8,i32>#get (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -1977,7 +1968,7 @@
)
)
)
(func $~lib/map/Map<u8,i32>#delete (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u8,i32>#delete (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -2075,7 +2066,7 @@
)
(i32.const 1)
)
(func $std/map/test<u8,i32> (; 26 ;) (type $v)
(func $std/map/test<u8,i32> (; 24 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -2540,7 +2531,7 @@
)
)
)
(func $~lib/internal/hash/hash16 (; 27 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash16 (; 25 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(i32.mul
@ -2561,7 +2552,7 @@
(i32.const 16777619)
)
)
(func $~lib/map/Map<i16,i32>#find (; 28 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<i16,i32>#find (; 26 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -2627,7 +2618,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i16,i32>#has (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i16,i32>#has (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i16,i32>#find
(get_local $0)
@ -2645,7 +2636,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i16,i32>#rehash (; 30 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i16,i32>#rehash (; 28 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2808,7 +2799,7 @@
)
)
)
(func $~lib/map/Map<i16,i32>#set (; 31 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<i16,i32>#set (; 29 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2951,7 +2942,7 @@
)
)
)
(func $~lib/map/Map<i16,i32>#get (; 32 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i16,i32>#get (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -2976,7 +2967,7 @@
)
)
)
(func $~lib/map/Map<i16,i32>#delete (; 33 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i16,i32>#delete (; 31 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -3077,7 +3068,7 @@
)
(i32.const 1)
)
(func $std/map/test<i16,i32> (; 34 ;) (type $v)
(func $std/map/test<i16,i32> (; 32 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -3563,7 +3554,7 @@
)
)
)
(func $~lib/map/Map<u16,i32>#has (; 35 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u16,i32>#has (; 33 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i16,i32>#find
(get_local $0)
@ -3578,7 +3569,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u16,i32>#rehash (; 36 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<u16,i32>#rehash (; 34 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3741,7 +3732,7 @@
)
)
)
(func $~lib/map/Map<u16,i32>#set (; 37 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<u16,i32>#set (; 35 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -3881,7 +3872,7 @@
)
)
)
(func $~lib/map/Map<u16,i32>#get (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u16,i32>#get (; 36 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -3903,7 +3894,7 @@
)
)
)
(func $~lib/map/Map<u16,i32>#delete (; 39 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u16,i32>#delete (; 37 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -4001,7 +3992,7 @@
)
(i32.const 1)
)
(func $std/map/test<u16,i32> (; 40 ;) (type $v)
(func $std/map/test<u16,i32> (; 38 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -4466,7 +4457,7 @@
)
)
)
(func $~lib/internal/hash/hash32 (; 41 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash32 (; 39 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(i32.mul
@ -4511,7 +4502,7 @@
(i32.const 16777619)
)
)
(func $~lib/map/Map<i32,i32>#find (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<i32,i32>#find (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -4574,7 +4565,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i32,i32>#has (; 43 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i32,i32>#has (; 41 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i32,i32>#find
(get_local $0)
@ -4586,7 +4577,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i32,i32>#rehash (; 44 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i32,i32>#rehash (; 42 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4749,7 +4740,7 @@
)
)
)
(func $~lib/map/Map<i32,i32>#set (; 45 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<i32,i32>#set (; 43 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4886,7 +4877,7 @@
)
)
)
(func $~lib/map/Map<i32,i32>#get (; 46 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i32,i32>#get (; 44 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -4905,7 +4896,7 @@
)
)
)
(func $~lib/map/Map<i32,i32>#delete (; 47 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i32,i32>#delete (; 45 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -5000,7 +4991,7 @@
)
(i32.const 1)
)
(func $std/map/test<i32,i32> (; 48 ;) (type $v)
(func $std/map/test<i32,i32> (; 46 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -5444,7 +5435,7 @@
)
)
)
(func $std/map/test<u32,i32> (; 49 ;) (type $v)
(func $std/map/test<u32,i32> (; 47 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -5888,7 +5879,7 @@
)
)
)
(func $~lib/map/Map<i64,i32>#clear (; 50 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<i64,i32>#clear (; 48 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -5922,7 +5913,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i64,i32>#constructor (; 51 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i64,i32>#constructor (; 49 ;) (type $ii) (param $0 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -5963,7 +5954,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash64 (; 52 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/hash64 (; 50 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(i32.mul
(i32.xor
@ -6062,7 +6053,7 @@
(i32.const 16777619)
)
)
(func $~lib/map/Map<i64,i32>#find (; 53 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(func $~lib/map/Map<i64,i32>#find (; 51 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -6125,7 +6116,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i64,i32>#has (; 54 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<i64,i32>#has (; 52 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(i32.ne
(call $~lib/map/Map<i64,i32>#find
(get_local $0)
@ -6137,7 +6128,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i64,i32>#rehash (; 55 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i64,i32>#rehash (; 53 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6300,7 +6291,7 @@
)
)
)
(func $~lib/map/Map<i64,i32>#set (; 56 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/map/Map<i64,i32>#set (; 54 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -6437,7 +6428,7 @@
)
)
)
(func $~lib/map/Map<i64,i32>#get (; 57 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<i64,i32>#get (; 55 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -6456,7 +6447,7 @@
)
)
)
(func $~lib/map/Map<i64,i32>#delete (; 58 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<i64,i32>#delete (; 56 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -6552,7 +6543,7 @@
)
(i32.const 1)
)
(func $std/map/test<i64,i32> (; 59 ;) (type $v)
(func $std/map/test<i64,i32> (; 57 ;) (type $v)
(local $0 i64)
(local $1 i32)
(set_local $1
@ -7010,7 +7001,7 @@
)
)
)
(func $std/map/test<u64,i32> (; 60 ;) (type $v)
(func $std/map/test<u64,i32> (; 58 ;) (type $v)
(local $0 i64)
(local $1 i32)
(set_local $1
@ -7468,7 +7459,7 @@
)
)
)
(func $~lib/map/Map<f32,i32>#find (; 61 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(func $~lib/map/Map<f32,i32>#find (; 59 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -7531,7 +7522,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<f32,i32>#has (; 62 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/map/Map<f32,i32>#has (; 60 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(i32.ne
(call $~lib/map/Map<f32,i32>#find
(get_local $0)
@ -7545,7 +7536,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<f32,i32>#rehash (; 63 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<f32,i32>#rehash (; 61 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -7710,7 +7701,7 @@
)
)
)
(func $~lib/map/Map<f32,i32>#set (; 64 ;) (type $ifiv) (param $0 i32) (param $1 f32) (param $2 i32)
(func $~lib/map/Map<f32,i32>#set (; 62 ;) (type $ifiv) (param $0 i32) (param $1 f32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -7849,7 +7840,7 @@
)
)
)
(func $~lib/map/Map<f32,i32>#get (; 65 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/map/Map<f32,i32>#get (; 63 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -7870,7 +7861,7 @@
)
)
)
(func $~lib/map/Map<f32,i32>#delete (; 66 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/map/Map<f32,i32>#delete (; 64 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -7968,7 +7959,7 @@
)
(i32.const 1)
)
(func $std/map/test<f32,i32> (; 67 ;) (type $v)
(func $std/map/test<f32,i32> (; 65 ;) (type $v)
(local $0 f32)
(local $1 i32)
(set_local $1
@ -8434,7 +8425,7 @@
)
)
)
(func $~lib/map/Map<f64,i32>#find (; 68 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(func $~lib/map/Map<f64,i32>#find (; 66 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -8497,7 +8488,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<f64,i32>#has (; 69 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/map/Map<f64,i32>#has (; 67 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(i32.ne
(call $~lib/map/Map<f64,i32>#find
(get_local $0)
@ -8511,7 +8502,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<f64,i32>#rehash (; 70 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<f64,i32>#rehash (; 68 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -8676,7 +8667,7 @@
)
)
)
(func $~lib/map/Map<f64,i32>#set (; 71 ;) (type $iFiv) (param $0 i32) (param $1 f64) (param $2 i32)
(func $~lib/map/Map<f64,i32>#set (; 69 ;) (type $iFiv) (param $0 i32) (param $1 f64) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -8815,7 +8806,7 @@
)
)
)
(func $~lib/map/Map<f64,i32>#get (; 72 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/map/Map<f64,i32>#get (; 70 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -8836,7 +8827,7 @@
)
)
)
(func $~lib/map/Map<f64,i32>#delete (; 73 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/map/Map<f64,i32>#delete (; 71 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -8934,7 +8925,7 @@
)
(i32.const 1)
)
(func $std/map/test<f64,i32> (; 74 ;) (type $v)
(func $std/map/test<f64,i32> (; 72 ;) (type $v)
(local $0 f64)
(local $1 i32)
(set_local $1
@ -9400,7 +9391,7 @@
)
)
)
(func $start (; 75 ;) (type $v)
(func $start (; 73 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 136)
)

@ -1,7 +1,6 @@
(module
(type $v (func))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
@ -41,15 +40,7 @@
(data (i32.const 112) "\n\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -85,7 +76,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -130,14 +121,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -157,14 +148,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/arraybuffer/computeSize (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 3 ;) (type $ii) (param $0 i32) (result i32)
(i32.shl
(i32.const 1)
(i32.sub
@ -181,7 +172,7 @@
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
@ -213,7 +204,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -565,14 +556,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -612,7 +603,7 @@
)
(get_local $3)
)
(func $~lib/map/Map<i8,i32>#clear (; 10 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<i8,i32>#clear (; 8 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -649,7 +640,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i8,i32>#constructor (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i8,i32>#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<i8,i32>#clear
(tee_local $0
@ -695,7 +686,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash8 (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash8 (; 10 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(get_global $~lib/internal/hash/FNV_OFFSET)
@ -704,7 +695,7 @@
(get_global $~lib/internal/hash/FNV_PRIME)
)
)
(func $~lib/map/Map<i8,i32>#find (; 13 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<i8,i32>#find (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -780,7 +771,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i8,i32>#has (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i8,i32>#has (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i8,i32>#find
(get_local $0)
@ -802,7 +793,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i8,i32>#rehash (; 15 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i8,i32>#rehash (; 13 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -999,7 +990,7 @@
)
)
)
(func $~lib/map/Map<i8,i32>#set (; 16 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<i8,i32>#set (; 14 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1154,7 +1145,7 @@
)
)
)
(func $~lib/map/Map<i8,i32>#get (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i8,i32>#get (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<i8,i32>#find
@ -1183,12 +1174,12 @@
(unreachable)
)
)
(func $~lib/map/Map<i8,i32>#get:size (; 18 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i8,i32>#get:size (; 16 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<i8,i32>#delete (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i8,i32>#delete (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1294,7 +1285,7 @@
)
(i32.const 1)
)
(func $std/map/test<i8,i32> (; 20 ;) (type $v)
(func $std/map/test<i8,i32> (; 18 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -1828,7 +1819,7 @@
)
)
)
(func $~lib/map/Map<u8,i32>#clear (; 21 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<u8,i32>#clear (; 19 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -1865,7 +1856,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u8,i32>#constructor (; 22 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u8,i32>#constructor (; 20 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<u8,i32>#clear
(tee_local $0
@ -1911,7 +1902,7 @@
)
(get_local $0)
)
(func $~lib/map/Map<u8,i32>#find (; 23 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<u8,i32>#find (; 21 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -1984,7 +1975,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<u8,i32>#has (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u8,i32>#has (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<u8,i32>#find
(get_local $0)
@ -2003,7 +1994,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u8,i32>#rehash (; 25 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<u8,i32>#rehash (; 23 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2200,7 +2191,7 @@
)
)
)
(func $~lib/map/Map<u8,i32>#set (; 26 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<u8,i32>#set (; 24 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2352,7 +2343,7 @@
)
)
)
(func $~lib/map/Map<u8,i32>#get (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u8,i32>#get (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<u8,i32>#find
@ -2378,12 +2369,12 @@
(unreachable)
)
)
(func $~lib/map/Map<u8,i32>#get:size (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u8,i32>#get:size (; 26 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<u8,i32>#delete (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u8,i32>#delete (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2486,7 +2477,7 @@
)
(i32.const 1)
)
(func $std/map/test<u8,i32> (; 30 ;) (type $v)
(func $std/map/test<u8,i32> (; 28 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -2999,7 +2990,7 @@
)
)
)
(func $~lib/map/Map<i16,i32>#clear (; 31 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<i16,i32>#clear (; 29 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -3036,7 +3027,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i16,i32>#constructor (; 32 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i16,i32>#constructor (; 30 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<i16,i32>#clear
(tee_local $0
@ -3082,7 +3073,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash16 (; 33 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash16 (; 31 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(get_global $~lib/internal/hash/FNV_OFFSET)
@ -3113,7 +3104,7 @@
)
(get_local $1)
)
(func $~lib/map/Map<i16,i32>#find (; 34 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<i16,i32>#find (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -3189,7 +3180,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i16,i32>#has (; 35 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i16,i32>#has (; 33 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i16,i32>#find
(get_local $0)
@ -3211,7 +3202,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i16,i32>#rehash (; 36 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i16,i32>#rehash (; 34 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3408,7 +3399,7 @@
)
)
)
(func $~lib/map/Map<i16,i32>#set (; 37 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<i16,i32>#set (; 35 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -3563,7 +3554,7 @@
)
)
)
(func $~lib/map/Map<i16,i32>#get (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i16,i32>#get (; 36 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<i16,i32>#find
@ -3592,12 +3583,12 @@
(unreachable)
)
)
(func $~lib/map/Map<i16,i32>#get:size (; 39 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i16,i32>#get:size (; 37 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<i16,i32>#delete (; 40 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i16,i32>#delete (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3703,7 +3694,7 @@
)
(i32.const 1)
)
(func $std/map/test<i16,i32> (; 41 ;) (type $v)
(func $std/map/test<i16,i32> (; 39 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -4237,7 +4228,7 @@
)
)
)
(func $~lib/map/Map<u16,i32>#clear (; 42 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<u16,i32>#clear (; 40 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -4274,7 +4265,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u16,i32>#constructor (; 43 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u16,i32>#constructor (; 41 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<u16,i32>#clear
(tee_local $0
@ -4320,7 +4311,7 @@
)
(get_local $0)
)
(func $~lib/map/Map<u16,i32>#find (; 44 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<u16,i32>#find (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -4393,7 +4384,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<u16,i32>#has (; 45 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u16,i32>#has (; 43 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<u16,i32>#find
(get_local $0)
@ -4412,7 +4403,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u16,i32>#rehash (; 46 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<u16,i32>#rehash (; 44 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4609,7 +4600,7 @@
)
)
)
(func $~lib/map/Map<u16,i32>#set (; 47 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<u16,i32>#set (; 45 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4761,7 +4752,7 @@
)
)
)
(func $~lib/map/Map<u16,i32>#get (; 48 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u16,i32>#get (; 46 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<u16,i32>#find
@ -4787,12 +4778,12 @@
(unreachable)
)
)
(func $~lib/map/Map<u16,i32>#get:size (; 49 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u16,i32>#get:size (; 47 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<u16,i32>#delete (; 50 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u16,i32>#delete (; 48 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4895,7 +4886,7 @@
)
(i32.const 1)
)
(func $std/map/test<u16,i32> (; 51 ;) (type $v)
(func $std/map/test<u16,i32> (; 49 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -5408,7 +5399,7 @@
)
)
)
(func $~lib/map/Map<i32,i32>#clear (; 52 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<i32,i32>#clear (; 50 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -5445,7 +5436,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i32,i32>#constructor (; 53 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i32,i32>#constructor (; 51 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<i32,i32>#clear
(tee_local $0
@ -5491,7 +5482,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash32 (; 54 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash32 (; 52 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(get_global $~lib/internal/hash/FNV_OFFSET)
@ -5552,7 +5543,7 @@
)
(get_local $1)
)
(func $~lib/map/Map<i32,i32>#find (; 55 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<i32,i32>#find (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -5622,7 +5613,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i32,i32>#has (; 56 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i32,i32>#has (; 54 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<i32,i32>#find
(get_local $0)
@ -5638,7 +5629,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i32,i32>#rehash (; 57 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i32,i32>#rehash (; 55 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5835,7 +5826,7 @@
)
)
)
(func $~lib/map/Map<i32,i32>#set (; 58 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<i32,i32>#set (; 56 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -5984,7 +5975,7 @@
)
)
)
(func $~lib/map/Map<i32,i32>#get (; 59 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i32,i32>#get (; 57 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<i32,i32>#find
@ -6007,12 +5998,12 @@
(unreachable)
)
)
(func $~lib/map/Map<i32,i32>#get:size (; 60 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i32,i32>#get:size (; 58 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<i32,i32>#delete (; 61 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<i32,i32>#delete (; 59 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6112,7 +6103,7 @@
)
(i32.const 1)
)
(func $std/map/test<i32,i32> (; 62 ;) (type $v)
(func $std/map/test<i32,i32> (; 60 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -6604,7 +6595,7 @@
)
)
)
(func $~lib/map/Map<u32,i32>#clear (; 63 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<u32,i32>#clear (; 61 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -6641,7 +6632,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u32,i32>#constructor (; 64 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u32,i32>#constructor (; 62 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<u32,i32>#clear
(tee_local $0
@ -6687,7 +6678,7 @@
)
(get_local $0)
)
(func $~lib/map/Map<u32,i32>#find (; 65 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<u32,i32>#find (; 63 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -6757,7 +6748,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<u32,i32>#has (; 66 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u32,i32>#has (; 64 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<u32,i32>#find
(get_local $0)
@ -6773,7 +6764,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u32,i32>#rehash (; 67 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<u32,i32>#rehash (; 65 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6970,7 +6961,7 @@
)
)
)
(func $~lib/map/Map<u32,i32>#set (; 68 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<u32,i32>#set (; 66 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -7119,7 +7110,7 @@
)
)
)
(func $~lib/map/Map<u32,i32>#get (; 69 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u32,i32>#get (; 67 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<u32,i32>#find
@ -7142,12 +7133,12 @@
(unreachable)
)
)
(func $~lib/map/Map<u32,i32>#get:size (; 70 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u32,i32>#get:size (; 68 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<u32,i32>#delete (; 71 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<u32,i32>#delete (; 69 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -7247,7 +7238,7 @@
)
(i32.const 1)
)
(func $std/map/test<u32,i32> (; 72 ;) (type $v)
(func $std/map/test<u32,i32> (; 70 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -7739,7 +7730,7 @@
)
)
)
(func $~lib/map/Map<i64,i32>#clear (; 73 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<i64,i32>#clear (; 71 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -7776,7 +7767,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i64,i32>#constructor (; 74 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i64,i32>#constructor (; 72 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<i64,i32>#clear
(tee_local $0
@ -7822,7 +7813,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash64 (; 75 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/hash64 (; 73 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -7952,7 +7943,7 @@
)
(get_local $3)
)
(func $~lib/map/Map<i64,i32>#find (; 76 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(func $~lib/map/Map<i64,i32>#find (; 74 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -8022,7 +8013,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<i64,i32>#has (; 77 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<i64,i32>#has (; 75 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(i32.ne
(call $~lib/map/Map<i64,i32>#find
(get_local $0)
@ -8038,7 +8029,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<i64,i32>#rehash (; 78 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<i64,i32>#rehash (; 76 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -8236,7 +8227,7 @@
)
)
)
(func $~lib/map/Map<i64,i32>#set (; 79 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/map/Map<i64,i32>#set (; 77 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -8385,7 +8376,7 @@
)
)
)
(func $~lib/map/Map<i64,i32>#get (; 80 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<i64,i32>#get (; 78 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<i64,i32>#find
@ -8408,12 +8399,12 @@
(unreachable)
)
)
(func $~lib/map/Map<i64,i32>#get:size (; 81 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<i64,i32>#get:size (; 79 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<i64,i32>#delete (; 82 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<i64,i32>#delete (; 80 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -8513,7 +8504,7 @@
)
(i32.const 1)
)
(func $std/map/test<i64,i32> (; 83 ;) (type $v)
(func $std/map/test<i64,i32> (; 81 ;) (type $v)
(local $0 i32)
(local $1 i64)
(set_local $0
@ -9019,7 +9010,7 @@
)
)
)
(func $~lib/map/Map<u64,i32>#clear (; 84 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<u64,i32>#clear (; 82 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -9056,7 +9047,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u64,i32>#constructor (; 85 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u64,i32>#constructor (; 83 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<u64,i32>#clear
(tee_local $0
@ -9102,7 +9093,7 @@
)
(get_local $0)
)
(func $~lib/map/Map<u64,i32>#find (; 86 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(func $~lib/map/Map<u64,i32>#find (; 84 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -9172,7 +9163,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<u64,i32>#has (; 87 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<u64,i32>#has (; 85 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(i32.ne
(call $~lib/map/Map<u64,i32>#find
(get_local $0)
@ -9188,7 +9179,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<u64,i32>#rehash (; 88 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<u64,i32>#rehash (; 86 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -9386,7 +9377,7 @@
)
)
)
(func $~lib/map/Map<u64,i32>#set (; 89 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/map/Map<u64,i32>#set (; 87 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -9535,7 +9526,7 @@
)
)
)
(func $~lib/map/Map<u64,i32>#get (; 90 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<u64,i32>#get (; 88 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<u64,i32>#find
@ -9558,12 +9549,12 @@
(unreachable)
)
)
(func $~lib/map/Map<u64,i32>#get:size (; 91 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<u64,i32>#get:size (; 89 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<u64,i32>#delete (; 92 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/map/Map<u64,i32>#delete (; 90 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -9663,7 +9654,7 @@
)
(i32.const 1)
)
(func $std/map/test<u64,i32> (; 93 ;) (type $v)
(func $std/map/test<u64,i32> (; 91 ;) (type $v)
(local $0 i32)
(local $1 i64)
(set_local $0
@ -10169,7 +10160,7 @@
)
)
)
(func $~lib/map/Map<f32,i32>#clear (; 94 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<f32,i32>#clear (; 92 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -10206,7 +10197,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<f32,i32>#constructor (; 95 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<f32,i32>#constructor (; 93 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<f32,i32>#clear
(tee_local $0
@ -10252,7 +10243,7 @@
)
(get_local $0)
)
(func $~lib/map/Map<f32,i32>#find (; 96 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(func $~lib/map/Map<f32,i32>#find (; 94 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -10322,7 +10313,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<f32,i32>#has (; 97 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/map/Map<f32,i32>#has (; 95 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(i32.ne
(call $~lib/map/Map<f32,i32>#find
(get_local $0)
@ -10340,7 +10331,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<f32,i32>#rehash (; 98 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<f32,i32>#rehash (; 96 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -10540,7 +10531,7 @@
)
)
)
(func $~lib/map/Map<f32,i32>#set (; 99 ;) (type $ifiv) (param $0 i32) (param $1 f32) (param $2 i32)
(func $~lib/map/Map<f32,i32>#set (; 97 ;) (type $ifiv) (param $0 i32) (param $1 f32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -10691,7 +10682,7 @@
)
)
)
(func $~lib/map/Map<f32,i32>#get (; 100 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/map/Map<f32,i32>#get (; 98 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<f32,i32>#find
@ -10716,12 +10707,12 @@
(unreachable)
)
)
(func $~lib/map/Map<f32,i32>#get:size (; 101 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<f32,i32>#get:size (; 99 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<f32,i32>#delete (; 102 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/map/Map<f32,i32>#delete (; 100 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -10823,7 +10814,7 @@
)
(i32.const 1)
)
(func $std/map/test<f32,i32> (; 103 ;) (type $v)
(func $std/map/test<f32,i32> (; 101 ;) (type $v)
(local $0 i32)
(local $1 f32)
(set_local $0
@ -11329,7 +11320,7 @@
)
)
)
(func $~lib/map/Map<f64,i32>#clear (; 104 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<f64,i32>#clear (; 102 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -11366,7 +11357,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<f64,i32>#constructor (; 105 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<f64,i32>#constructor (; 103 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<f64,i32>#clear
(tee_local $0
@ -11412,7 +11403,7 @@
)
(get_local $0)
)
(func $~lib/map/Map<f64,i32>#find (; 106 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(func $~lib/map/Map<f64,i32>#find (; 104 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -11482,7 +11473,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<f64,i32>#has (; 107 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/map/Map<f64,i32>#has (; 105 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(i32.ne
(call $~lib/map/Map<f64,i32>#find
(get_local $0)
@ -11500,7 +11491,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<f64,i32>#rehash (; 108 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<f64,i32>#rehash (; 106 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -11700,7 +11691,7 @@
)
)
)
(func $~lib/map/Map<f64,i32>#set (; 109 ;) (type $iFiv) (param $0 i32) (param $1 f64) (param $2 i32)
(func $~lib/map/Map<f64,i32>#set (; 107 ;) (type $iFiv) (param $0 i32) (param $1 f64) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -11851,7 +11842,7 @@
)
)
)
(func $~lib/map/Map<f64,i32>#get (; 110 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/map/Map<f64,i32>#get (; 108 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<f64,i32>#find
@ -11876,12 +11867,12 @@
(unreachable)
)
)
(func $~lib/map/Map<f64,i32>#get:size (; 111 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<f64,i32>#get:size (; 109 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/map/Map<f64,i32>#delete (; 112 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/map/Map<f64,i32>#delete (; 110 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -11983,7 +11974,7 @@
)
(i32.const 1)
)
(func $std/map/test<f64,i32> (; 113 ;) (type $v)
(func $std/map/test<f64,i32> (; 111 ;) (type $v)
(local $0 i32)
(local $1 f64)
(set_local $0
@ -12489,7 +12480,7 @@
)
)
)
(func $start (; 114 ;) (type $v)
(func $start (; 112 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -66,7 +66,7 @@
(data (i32.const 36) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s")
(export "memory" (memory $0))
(start $start)
(func $isNaN<f64> (; 30 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 30 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -82,7 +82,7 @@
)
)
)
(func $isFinite<f64> (; 32 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isFinite<f64> (; 32 ;) (type $Fi) (param $0 f64) (result i32)
(f64.eq
(f64.sub
(get_local $0)
@ -239,12 +239,12 @@
(local $3 i32)
(if
(tee_local $3
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
(set_local $3
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
@ -281,7 +281,7 @@
)
(if
(i32.eqz
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(get_local $0)
)
)
@ -327,11 +327,11 @@
)
)
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
(return
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -353,7 +353,7 @@
)
(i32.const 1)
)
(func $isNaN<f32> (; 37 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 37 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
@ -367,7 +367,7 @@
(i32.const 31)
)
)
(func $isFinite<f32> (; 39 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isFinite<f32> (; 39 ;) (type $fi) (param $0 f32) (result i32)
(f32.eq
(f32.sub
(get_local $0)
@ -520,12 +520,12 @@
(local $3 i32)
(if
(tee_local $3
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)
(set_local $3
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
@ -562,7 +562,7 @@
)
(if
(i32.eqz
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(get_local $0)
)
)
@ -608,11 +608,11 @@
)
)
(if
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
(return
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)
@ -3094,7 +3094,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -3480,7 +3480,7 @@
)
(block
(if
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
(return
@ -4021,13 +4021,13 @@
(if
(i32.eqz
(tee_local $2
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
)
(set_local $2
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -4399,13 +4399,13 @@
(if
(i32.eqz
(tee_local $2
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
)
(set_local $2
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)
@ -5154,7 +5154,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -5593,7 +5593,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -8598,7 +8598,7 @@
)
)
(set_local $7
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
@ -8994,7 +8994,7 @@
)
)
(set_local $3
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
@ -12502,7 +12502,7 @@
)
)
(set_local $5
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
@ -12971,7 +12971,7 @@
)
)
(set_local $2
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)

@ -83,15 +83,15 @@
(global $~lib/math/random_seeded (mut i32) (i32.const 0))
(global $~lib/math/random_state0 (mut i64) (i64.const 0))
(global $~lib/math/random_state1 (mut i64) (i64.const 0))
(global $f64.EPSILON f64 (f64.const 2.220446049250313e-16))
(global $f32.EPSILON f32 (f32.const 1.1920928955078125e-07))
(global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16))
(global $~lib/builtins/f32.EPSILON f32 (f32.const 1.1920928955078125e-07))
(global $HEAP_BASE i32 (i32.const 64))
(memory $0 1)
(data (i32.const 8) "\0b\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00")
(data (i32.const 36) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00")
(export "memory" (memory $0))
(start $start)
(func $isNaN<f64> (; 30 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 30 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -107,7 +107,7 @@
)
)
)
(func $isFinite<f64> (; 32 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isFinite<f64> (; 32 ;) (type $Fi) (param $0 f64) (result i32)
(f64.eq
(f64.sub
(get_local $0)
@ -277,11 +277,11 @@
(if
(if (result i32)
(tee_local $3
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
(get_local $3)
@ -316,7 +316,7 @@
)
(if
(i32.eqz
(call $isFinite<f64>
(call $~lib/builtins/isFinite<f64>
(get_local $0)
)
)
@ -363,11 +363,11 @@
)
)
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
(return
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -392,7 +392,7 @@
)
(i32.const 1)
)
(func $isNaN<f32> (; 37 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 37 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
@ -406,7 +406,7 @@
(i32.const 31)
)
)
(func $isFinite<f32> (; 39 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isFinite<f32> (; 39 ;) (type $fi) (param $0 f32) (result i32)
(f32.eq
(f32.sub
(get_local $0)
@ -572,11 +572,11 @@
(if
(if (result i32)
(tee_local $3
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
(get_local $3)
@ -611,7 +611,7 @@
)
(if
(i32.eqz
(call $isFinite<f32>
(call $~lib/builtins/isFinite<f32>
(get_local $0)
)
)
@ -658,11 +658,11 @@
)
)
(if
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
(return
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)
@ -3528,7 +3528,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -3961,7 +3961,7 @@
)
(block
(if
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
(return
@ -4564,12 +4564,12 @@
(if
(if (result i32)
(tee_local $2
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
(get_local $2)
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -5065,12 +5065,12 @@
(if
(if (result i32)
(tee_local $2
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
(get_local $2)
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)
@ -6022,7 +6022,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -6491,7 +6491,7 @@
)
(block
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
(return
@ -9950,7 +9950,7 @@
)
)
(get_local $7)
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
@ -10418,7 +10418,7 @@
)
)
(get_local $7)
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
@ -14354,7 +14354,7 @@
)
)
(get_local $8)
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
@ -14910,7 +14910,7 @@
)
)
(get_local $10)
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)

@ -15,7 +15,7 @@
(data (i32.const 8) "\n\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s")
(export "memory" (memory $0))
(start $start)
(func $isNaN<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -81,7 +81,7 @@
)
)
(set_local $7
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
@ -397,11 +397,11 @@
)
(func $std/mod/check<f64> (; 4 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
(return
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -455,7 +455,7 @@
)
(get_local $3)
)
(func $isNaN<f32> (; 6 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 6 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
@ -513,7 +513,7 @@
)
)
(set_local $3
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
@ -804,11 +804,11 @@
)
(func $std/mod/check<f32> (; 8 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32)
(if
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
(return
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)

@ -19,7 +19,7 @@
(data (i32.const 8) "\n\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00")
(export "memory" (memory $0))
(start $start)
(func $isNaN<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/builtins/isNaN<f64> (; 2 ;) (type $Fi) (param $0 f64) (result i32)
(f64.ne
(get_local $0)
(get_local $0)
@ -87,7 +87,7 @@
)
)
(get_local $7)
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
)
@ -467,11 +467,11 @@
)
(func $std/mod/check<f64> (; 4 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32)
(if
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $1)
)
(return
(call $isNaN<f64>
(call $~lib/builtins/isNaN<f64>
(get_local $0)
)
)
@ -531,7 +531,7 @@
(get_local $3)
)
)
(func $isNaN<f32> (; 6 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/builtins/isNaN<f32> (; 6 ;) (type $fi) (param $0 f32) (result i32)
(f32.ne
(get_local $0)
(get_local $0)
@ -593,7 +593,7 @@
)
)
(get_local $7)
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
)
@ -960,11 +960,11 @@
)
(func $std/mod/check<f32> (; 8 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32)
(if
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $1)
)
(return
(call $isNaN<f32>
(call $~lib/builtins/isNaN<f32>
(get_local $0)
)
)

@ -1,7 +1,6 @@
(module
(type $ifi (func (param i32 f32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $v (func))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
@ -9,15 +8,7 @@
(memory $0 0)
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 0 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 1 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -49,14 +40,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -84,7 +75,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -103,12 +94,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $std/new/AClass#constructor (; 4 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $std/new/AClass#constructor (; 2 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -146,7 +137,7 @@
)
(get_local $0)
)
(func $start (; 5 ;) (type $v)
(func $start (; 3 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 8)
)

@ -1,7 +1,6 @@
(module
(type $ifi (func (param i32 f32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $v (func))
(global $~lib/internal/allocator/AL_BITS i32 (i32.const 3))
(global $~lib/internal/allocator/AL_SIZE i32 (i32.const 8))
@ -14,15 +13,7 @@
(memory $0 0)
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 0 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 1 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -58,7 +49,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -103,14 +94,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -130,14 +121,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $std/new/AClass#constructor (; 4 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $std/new/AClass#constructor (; 2 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(local $2 i32)
(i32.store
(get_local $0)
@ -177,7 +168,7 @@
)
(get_local $0)
)
(func $start (; 5 ;) (type $v)
(func $start (; 3 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -1,7 +1,6 @@
(module
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $FFF (func (param f64 f64) (result f64)))
@ -79,15 +78,7 @@
(data (i32.const 8) "\1b\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -119,14 +110,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -154,7 +145,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -173,12 +164,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $std/operator-overloading/Tester#constructor (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/Tester#constructor (; 3 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -200,7 +191,7 @@
)
(get_local $0)
)
(func $std/operator-overloading/Tester.add (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.add (; 4 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.add
@ -221,7 +212,7 @@
)
)
)
(func $std/operator-overloading/Tester.sub (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.sub (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.sub
@ -242,7 +233,7 @@
)
)
)
(func $std/operator-overloading/Tester.mul (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.mul (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.mul
@ -263,7 +254,7 @@
)
)
)
(func $std/operator-overloading/Tester.div (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.div (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.div_s
@ -284,7 +275,7 @@
)
)
)
(func $std/operator-overloading/Tester.mod (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.mod (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.rem_s
@ -305,7 +296,7 @@
)
)
)
(func $~lib/math/NativeMath.scalbn (; 11 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
(func $~lib/math/NativeMath.scalbn (; 9 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
(local $2 f64)
(set_local $2
(get_local $0)
@ -419,7 +410,7 @@
)
)
)
(func $~lib/math/NativeMath.pow (; 12 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
(func $~lib/math/NativeMath.pow (; 10 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
(local $2 f64)
(local $3 f64)
(local $4 i32)
@ -1846,7 +1837,7 @@
(f64.const 1.e+300)
)
)
(func $std/operator-overloading/Tester.pow (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.pow (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.trunc_s/f64
@ -1879,7 +1870,7 @@
)
)
)
(func $std/operator-overloading/Tester.and (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.and (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.and
@ -1900,7 +1891,7 @@
)
)
)
(func $std/operator-overloading/Tester.or (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.or (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.or
@ -1921,7 +1912,7 @@
)
)
)
(func $std/operator-overloading/Tester.xor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.xor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.xor
@ -1942,7 +1933,7 @@
)
)
)
(func $std/operator-overloading/Tester.equals (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.equals (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(tee_local $2
@ -1968,7 +1959,7 @@
)
(get_local $2)
)
(func $std/operator-overloading/Tester.notEquals (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.notEquals (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(tee_local $2
@ -1994,7 +1985,7 @@
)
(get_local $2)
)
(func $std/operator-overloading/Tester.greater (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.greater (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(tee_local $2
@ -2020,7 +2011,7 @@
)
(get_local $2)
)
(func $std/operator-overloading/Tester.greaterEquals (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.greaterEquals (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(tee_local $2
@ -2046,7 +2037,7 @@
)
(get_local $2)
)
(func $std/operator-overloading/Tester.less (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.less (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(tee_local $2
@ -2072,7 +2063,7 @@
)
(get_local $2)
)
(func $std/operator-overloading/Tester.lessEquals (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.lessEquals (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(tee_local $2
@ -2098,7 +2089,7 @@
)
(get_local $2)
)
(func $std/operator-overloading/Tester.shr (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shr (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.shr_s
@ -2115,7 +2106,7 @@
)
)
)
(func $std/operator-overloading/Tester.shu (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shu (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.shr_u
@ -2132,7 +2123,7 @@
)
)
)
(func $std/operator-overloading/Tester.shl (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shl (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.shl
@ -2149,7 +2140,7 @@
)
)
)
(func $std/operator-overloading/Tester.pos (; 26 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.pos (; 24 ;) (type $ii) (param $0 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.load
@ -2160,7 +2151,7 @@
)
)
)
(func $std/operator-overloading/Tester.neg (; 27 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.neg (; 25 ;) (type $ii) (param $0 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.sub
@ -2177,7 +2168,7 @@
)
)
)
(func $std/operator-overloading/Tester.not (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.not (; 26 ;) (type $ii) (param $0 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.xor
@ -2194,7 +2185,7 @@
)
)
)
(func $std/operator-overloading/Tester.excl (; 29 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.excl (; 27 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(tee_local $1
@ -2214,7 +2205,7 @@
)
(get_local $1)
)
(func $std/operator-overloading/Tester#inc (; 30 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#inc (; 28 ;) (type $ii) (param $0 i32) (result i32)
(i32.store
(get_local $0)
(i32.add
@ -2235,7 +2226,7 @@
)
(get_local $0)
)
(func $std/operator-overloading/Tester#dec (; 31 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#dec (; 29 ;) (type $ii) (param $0 i32) (result i32)
(i32.store
(get_local $0)
(i32.sub
@ -2256,7 +2247,7 @@
)
(get_local $0)
)
(func $start (; 32 ;) (type $v)
(func $start (; 30 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_global $~lib/allocator/arena/startOffset

@ -1,7 +1,6 @@
(module
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $FFF (func (param f64 f64) (result f64)))
@ -48,7 +47,7 @@
(global $std/operator-overloading/eq3 (mut i32) (i32.const 0))
(global $std/operator-overloading/eq4 (mut i32) (i32.const 0))
(global $std/operator-overloading/eqf (mut i32) (i32.const 0))
(global $i32.MAX_VALUE i32 (i32.const 2147483647))
(global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647))
(global $std/operator-overloading/gt1 (mut i32) (i32.const 0))
(global $std/operator-overloading/gt2 (mut i32) (i32.const 0))
(global $std/operator-overloading/gt (mut i32) (i32.const 0))
@ -86,15 +85,7 @@
(data (i32.const 8) "\1b\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -130,7 +121,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -175,14 +166,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -202,14 +193,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $std/operator-overloading/Tester#constructor (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/Tester#constructor (; 3 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(tee_local $0
(if (result i32)
@ -236,7 +227,7 @@
)
)
)
(func $std/operator-overloading/Tester.add (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.add (; 4 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.add
@ -257,7 +248,7 @@
)
)
)
(func $std/operator-overloading/Tester.sub (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.sub (; 5 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.sub
@ -278,7 +269,7 @@
)
)
)
(func $std/operator-overloading/Tester.mul (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.mul (; 6 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.mul
@ -299,7 +290,7 @@
)
)
)
(func $std/operator-overloading/Tester.div (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.div (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.div_s
@ -320,7 +311,7 @@
)
)
)
(func $std/operator-overloading/Tester.mod (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.mod (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.rem_s
@ -341,7 +332,7 @@
)
)
)
(func $~lib/math/NativeMath.scalbn (; 11 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
(func $~lib/math/NativeMath.scalbn (; 9 ;) (type $FiF) (param $0 f64) (param $1 i32) (result f64)
(local $2 f64)
(set_local $2
(get_local $0)
@ -459,7 +450,7 @@
)
)
)
(func $~lib/math/NativeMath.pow (; 12 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
(func $~lib/math/NativeMath.pow (; 10 ;) (type $FFF) (param $0 f64) (param $1 f64) (result f64)
(local $2 i64)
(local $3 i32)
(local $4 i32)
@ -2017,7 +2008,7 @@
(get_local $13)
)
)
(func $std/operator-overloading/Tester.pow (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.pow (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.trunc_s/f64
@ -2050,7 +2041,7 @@
)
)
)
(func $std/operator-overloading/Tester.and (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.and (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.and
@ -2071,7 +2062,7 @@
)
)
)
(func $std/operator-overloading/Tester.or (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.or (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.or
@ -2092,7 +2083,7 @@
)
)
)
(func $std/operator-overloading/Tester.xor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.xor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.xor
@ -2113,7 +2104,7 @@
)
)
)
(func $std/operator-overloading/Tester.equals (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.equals (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if (result i32)
(tee_local $2
@ -2137,7 +2128,7 @@
(get_local $2)
)
)
(func $std/operator-overloading/Tester.notEquals (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.notEquals (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if (result i32)
(tee_local $2
@ -2161,7 +2152,7 @@
(get_local $2)
)
)
(func $std/operator-overloading/Tester.greater (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.greater (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if (result i32)
(tee_local $2
@ -2185,7 +2176,7 @@
(get_local $2)
)
)
(func $std/operator-overloading/Tester.greaterEquals (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.greaterEquals (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if (result i32)
(tee_local $2
@ -2209,7 +2200,7 @@
(get_local $2)
)
)
(func $std/operator-overloading/Tester.less (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.less (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if (result i32)
(tee_local $2
@ -2233,7 +2224,7 @@
(get_local $2)
)
)
(func $std/operator-overloading/Tester.lessEquals (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.lessEquals (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if (result i32)
(tee_local $2
@ -2257,7 +2248,7 @@
(get_local $2)
)
)
(func $std/operator-overloading/Tester.shr (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shr (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.shr_s
@ -2274,7 +2265,7 @@
)
)
)
(func $std/operator-overloading/Tester.shu (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shu (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.shr_u
@ -2291,7 +2282,7 @@
)
)
)
(func $std/operator-overloading/Tester.shl (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/Tester.shl (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.shl
@ -2308,7 +2299,7 @@
)
)
)
(func $std/operator-overloading/Tester.pos (; 26 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.pos (; 24 ;) (type $ii) (param $0 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.load
@ -2319,7 +2310,7 @@
)
)
)
(func $std/operator-overloading/Tester.neg (; 27 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.neg (; 25 ;) (type $ii) (param $0 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.sub
@ -2336,7 +2327,7 @@
)
)
)
(func $std/operator-overloading/Tester.not (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.not (; 26 ;) (type $ii) (param $0 i32) (result i32)
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.xor
@ -2353,7 +2344,7 @@
)
)
)
(func $std/operator-overloading/Tester.excl (; 29 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.excl (; 27 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if (result i32)
(tee_local $1
@ -2371,7 +2362,7 @@
(get_local $1)
)
)
(func $std/operator-overloading/Tester#inc (; 30 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#inc (; 28 ;) (type $ii) (param $0 i32) (result i32)
(i32.store
(get_local $0)
(i32.add
@ -2392,7 +2383,7 @@
)
(get_local $0)
)
(func $std/operator-overloading/Tester#dec (; 31 ;) (type $ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#dec (; 29 ;) (type $ii) (param $0 i32) (result i32)
(i32.store
(get_local $0)
(i32.sub
@ -2413,7 +2404,7 @@
)
(get_local $0)
)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 30 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(tee_local $0
(if (result i32)
@ -2440,7 +2431,7 @@
)
)
)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(tee_local $0
(if (result i32)
@ -2467,7 +2458,7 @@
)
)
)
(func $start (; 34 ;) (type $v)
(func $start (; 32 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_global $~lib/allocator/arena/startOffset
@ -3059,7 +3050,7 @@
(call $std/operator-overloading/Tester#constructor
(i32.const 0)
(i32.const 2)
(get_global $i32.MAX_VALUE)
(get_global $~lib/builtins/i32.MAX_VALUE)
)
)
(set_global $std/operator-overloading/gt2

@ -1,7 +1,6 @@
(module
(type $v (func))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
@ -29,15 +28,7 @@
(data (i32.const 112) "\n\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -69,14 +60,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -104,7 +95,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -123,12 +114,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/computeSize (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 3 ;) (type $ii) (param $0 i32) (result i32)
(i32.shl
(i32.const 1)
(i32.sub
@ -142,7 +133,7 @@
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -171,7 +162,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -501,14 +492,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -548,7 +539,7 @@
)
(get_local $3)
)
(func $~lib/set/Set<i8>#clear (; 10 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<i8>#clear (; 8 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -582,7 +573,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i8>#constructor (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i8>#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -623,7 +614,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash8 (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash8 (; 10 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(get_local $0)
@ -632,7 +623,7 @@
(i32.const 16777619)
)
)
(func $~lib/internal/hash/hash<i8> (; 13 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<i8> (; 11 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/internal/hash/hash8
(i32.shr_s
(i32.shl
@ -643,7 +634,7 @@
)
)
)
(func $~lib/set/Set<i8>#find (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<i8>#find (; 12 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -709,7 +700,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i8>#has (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i8>#has (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i8>#find
(get_local $0)
@ -721,7 +712,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i8>#rehash (; 16 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i8>#rehash (; 14 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -878,7 +869,7 @@
)
)
)
(func $~lib/set/Set<i8>#add (; 17 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i8>#add (; 15 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1007,12 +998,12 @@
)
)
)
(func $~lib/set/Set<i8>#get:size (; 18 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i8>#get:size (; 16 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<i8>#delete (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i8>#delete (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -1113,7 +1104,7 @@
)
(i32.const 1)
)
(func $std/set/test<i8> (; 20 ;) (type $v)
(func $std/set/test<i8> (; 18 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -1457,7 +1448,7 @@
)
)
)
(func $~lib/internal/hash/hash<u8> (; 21 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<u8> (; 19 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/internal/hash/hash8
(i32.and
(get_local $0)
@ -1465,7 +1456,7 @@
)
)
)
(func $~lib/set/Set<u8>#has (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u8>#has (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i8>#find
(get_local $0)
@ -1477,7 +1468,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u8>#rehash (; 23 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u8>#rehash (; 21 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1634,7 +1625,7 @@
)
)
)
(func $~lib/set/Set<u8>#add (; 24 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u8>#add (; 22 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1763,7 +1754,7 @@
)
)
)
(func $~lib/set/Set<u8>#delete (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u8>#delete (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -1861,7 +1852,7 @@
)
(i32.const 1)
)
(func $std/set/test<u8> (; 26 ;) (type $v)
(func $std/set/test<u8> (; 24 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -2205,7 +2196,7 @@
)
)
)
(func $~lib/internal/hash/hash16 (; 27 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash16 (; 25 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(i32.mul
@ -2226,7 +2217,7 @@
(i32.const 16777619)
)
)
(func $~lib/internal/hash/hash<i16> (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<i16> (; 26 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/internal/hash/hash16
(i32.shr_s
(i32.shl
@ -2237,7 +2228,7 @@
)
)
)
(func $~lib/set/Set<i16>#find (; 29 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<i16>#find (; 27 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -2303,7 +2294,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i16>#has (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i16>#has (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i16>#find
(get_local $0)
@ -2315,7 +2306,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i16>#rehash (; 31 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i16>#rehash (; 29 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2472,7 +2463,7 @@
)
)
)
(func $~lib/set/Set<i16>#add (; 32 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i16>#add (; 30 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2601,7 +2592,7 @@
)
)
)
(func $~lib/set/Set<i16>#delete (; 33 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i16>#delete (; 31 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -2702,7 +2693,7 @@
)
(i32.const 1)
)
(func $std/set/test<i16> (; 34 ;) (type $v)
(func $std/set/test<i16> (; 32 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -3046,7 +3037,7 @@
)
)
)
(func $~lib/internal/hash/hash<u16> (; 35 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<u16> (; 33 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/internal/hash/hash16
(i32.and
(get_local $0)
@ -3054,7 +3045,7 @@
)
)
)
(func $~lib/set/Set<u16>#has (; 36 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u16>#has (; 34 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i16>#find
(get_local $0)
@ -3066,7 +3057,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u16>#rehash (; 37 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u16>#rehash (; 35 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3223,7 +3214,7 @@
)
)
)
(func $~lib/set/Set<u16>#add (; 38 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u16>#add (; 36 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3352,7 +3343,7 @@
)
)
)
(func $~lib/set/Set<u16>#delete (; 39 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u16>#delete (; 37 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -3450,7 +3441,7 @@
)
(i32.const 1)
)
(func $std/set/test<u16> (; 40 ;) (type $v)
(func $std/set/test<u16> (; 38 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -3794,7 +3785,7 @@
)
)
)
(func $~lib/internal/hash/hash32 (; 41 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash32 (; 39 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(i32.mul
@ -3839,12 +3830,12 @@
(i32.const 16777619)
)
)
(func $~lib/internal/hash/hash<i32> (; 42 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<i32> (; 40 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/internal/hash/hash32
(get_local $0)
)
)
(func $~lib/set/Set<i32>#find (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<i32>#find (; 41 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -3907,7 +3898,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i32>#has (; 44 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i32>#has (; 42 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i32>#find
(get_local $0)
@ -3919,7 +3910,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i32>#rehash (; 45 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i32>#rehash (; 43 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4076,7 +4067,7 @@
)
)
)
(func $~lib/set/Set<i32>#add (; 46 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i32>#add (; 44 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4205,7 +4196,7 @@
)
)
)
(func $~lib/set/Set<i32>#delete (; 47 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i32>#delete (; 45 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eqz
@ -4300,7 +4291,7 @@
)
(i32.const 1)
)
(func $std/set/test<i32> (; 48 ;) (type $v)
(func $std/set/test<i32> (; 46 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -4644,7 +4635,7 @@
)
)
)
(func $std/set/test<u32> (; 49 ;) (type $v)
(func $std/set/test<u32> (; 47 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $1
@ -4988,7 +4979,7 @@
)
)
)
(func $~lib/set/Set<i64>#clear (; 50 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<i64>#clear (; 48 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -5022,7 +5013,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i64>#constructor (; 51 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i64>#constructor (; 49 ;) (type $ii) (param $0 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -5063,7 +5054,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash64 (; 52 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/hash64 (; 50 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(i32.mul
(i32.xor
@ -5162,12 +5153,12 @@
(i32.const 16777619)
)
)
(func $~lib/internal/hash/hash<i64> (; 53 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/hash<i64> (; 51 ;) (type $Ii) (param $0 i64) (result i32)
(call $~lib/internal/hash/hash64
(get_local $0)
)
)
(func $~lib/set/Set<i64>#find (; 54 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(func $~lib/set/Set<i64>#find (; 52 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -5230,7 +5221,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i64>#has (; 55 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/set/Set<i64>#has (; 53 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(i32.ne
(call $~lib/set/Set<i64>#find
(get_local $0)
@ -5242,7 +5233,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i64>#rehash (; 56 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i64>#rehash (; 54 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5399,7 +5390,7 @@
)
)
)
(func $~lib/set/Set<i64>#add (; 57 ;) (type $iIv) (param $0 i32) (param $1 i64)
(func $~lib/set/Set<i64>#add (; 55 ;) (type $iIv) (param $0 i32) (param $1 i64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5528,7 +5519,7 @@
)
)
)
(func $~lib/set/Set<i64>#delete (; 58 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/set/Set<i64>#delete (; 56 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -5624,7 +5615,7 @@
)
(i32.const 1)
)
(func $std/set/test<i64> (; 59 ;) (type $v)
(func $std/set/test<i64> (; 57 ;) (type $v)
(local $0 i64)
(local $1 i32)
(set_local $1
@ -5968,7 +5959,7 @@
)
)
)
(func $std/set/test<u64> (; 60 ;) (type $v)
(func $std/set/test<u64> (; 58 ;) (type $v)
(local $0 i64)
(local $1 i32)
(set_local $1
@ -6312,14 +6303,14 @@
)
)
)
(func $~lib/internal/hash/hash<f32> (; 61 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/internal/hash/hash<f32> (; 59 ;) (type $fi) (param $0 f32) (result i32)
(call $~lib/internal/hash/hash32
(i32.reinterpret/f32
(get_local $0)
)
)
)
(func $~lib/set/Set<f32>#find (; 62 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(func $~lib/set/Set<f32>#find (; 60 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -6382,7 +6373,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<f32>#has (; 63 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/set/Set<f32>#has (; 61 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(i32.ne
(call $~lib/set/Set<f32>#find
(get_local $0)
@ -6394,7 +6385,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<f32>#rehash (; 64 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<f32>#rehash (; 62 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6553,7 +6544,7 @@
)
)
)
(func $~lib/set/Set<f32>#add (; 65 ;) (type $ifv) (param $0 i32) (param $1 f32)
(func $~lib/set/Set<f32>#add (; 63 ;) (type $ifv) (param $0 i32) (param $1 f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6682,7 +6673,7 @@
)
)
)
(func $~lib/set/Set<f32>#delete (; 66 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/set/Set<f32>#delete (; 64 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -6780,7 +6771,7 @@
)
(i32.const 1)
)
(func $std/set/test<f32> (; 67 ;) (type $v)
(func $std/set/test<f32> (; 65 ;) (type $v)
(local $0 f32)
(local $1 i32)
(set_local $1
@ -7132,14 +7123,14 @@
)
)
)
(func $~lib/internal/hash/hash<f64> (; 68 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/internal/hash/hash<f64> (; 66 ;) (type $Fi) (param $0 f64) (result i32)
(call $~lib/internal/hash/hash64
(i64.reinterpret/f64
(get_local $0)
)
)
)
(func $~lib/set/Set<f64>#find (; 69 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(func $~lib/set/Set<f64>#find (; 67 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -7202,7 +7193,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<f64>#has (; 70 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/set/Set<f64>#has (; 68 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(i32.ne
(call $~lib/set/Set<f64>#find
(get_local $0)
@ -7214,7 +7205,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<f64>#rehash (; 71 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<f64>#rehash (; 69 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -7373,7 +7364,7 @@
)
)
)
(func $~lib/set/Set<f64>#add (; 72 ;) (type $iFv) (param $0 i32) (param $1 f64)
(func $~lib/set/Set<f64>#add (; 70 ;) (type $iFv) (param $0 i32) (param $1 f64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -7502,7 +7493,7 @@
)
)
)
(func $~lib/set/Set<f64>#delete (; 73 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/set/Set<f64>#delete (; 71 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -7600,7 +7591,7 @@
)
(i32.const 1)
)
(func $std/set/test<f64> (; 74 ;) (type $v)
(func $std/set/test<f64> (; 72 ;) (type $v)
(local $0 f64)
(local $1 i32)
(set_local $1
@ -7952,7 +7943,7 @@
)
)
)
(func $start (; 75 ;) (type $v)
(func $start (; 73 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 136)
)

@ -1,7 +1,6 @@
(module
(type $v (func))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
@ -43,15 +42,7 @@
(data (i32.const 112) "\n\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00")
(export "memory" (memory $0))
(start $start)
(func $~lib/memory/memory.size (; 1 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 2 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -87,7 +78,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -132,14 +123,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -159,14 +150,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/arraybuffer/computeSize (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 3 ;) (type $ii) (param $0 i32) (result i32)
(i32.shl
(i32.const 1)
(i32.sub
@ -183,7 +174,7 @@
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
@ -215,7 +206,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -567,14 +558,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 9 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -614,7 +605,7 @@
)
(get_local $3)
)
(func $~lib/set/Set<i8>#clear (; 10 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<i8>#clear (; 8 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -651,7 +642,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i8>#constructor (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i8>#constructor (; 9 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<i8>#clear
(tee_local $0
@ -697,7 +688,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash8 (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash8 (; 10 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(get_global $~lib/internal/hash/FNV_OFFSET)
@ -706,7 +697,7 @@
(get_global $~lib/internal/hash/FNV_PRIME)
)
)
(func $~lib/internal/hash/hash<i8> (; 13 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<i8> (; 11 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/internal/hash/hash8
(i32.shr_s
@ -719,7 +710,7 @@
)
)
)
(func $~lib/set/Set<i8>#find (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<i8>#find (; 12 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -795,7 +786,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i8>#has (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i8>#has (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i8>#find
(get_local $0)
@ -807,7 +798,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i8>#rehash (; 16 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i8>#rehash (; 14 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -998,7 +989,7 @@
)
)
)
(func $~lib/set/Set<i8>#add (; 17 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i8>#add (; 15 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1137,12 +1128,12 @@
)
)
)
(func $~lib/set/Set<i8>#get:size (; 18 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i8>#get:size (; 16 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<i8>#delete (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i8>#delete (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1248,7 +1239,7 @@
)
(i32.const 1)
)
(func $std/set/test<i8> (; 20 ;) (type $v)
(func $std/set/test<i8> (; 18 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -1636,7 +1627,7 @@
)
)
)
(func $~lib/set/Set<u8>#clear (; 21 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<u8>#clear (; 19 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -1673,7 +1664,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u8>#constructor (; 22 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u8>#constructor (; 20 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<u8>#clear
(tee_local $0
@ -1719,7 +1710,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash<u8> (; 23 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<u8> (; 21 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/internal/hash/hash8
(i32.and
@ -1729,7 +1720,7 @@
)
)
)
(func $~lib/set/Set<u8>#find (; 24 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<u8>#find (; 22 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -1802,7 +1793,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<u8>#has (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u8>#has (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<u8>#find
(get_local $0)
@ -1814,7 +1805,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u8>#rehash (; 26 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u8>#rehash (; 24 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2005,7 +1996,7 @@
)
)
)
(func $~lib/set/Set<u8>#add (; 27 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u8>#add (; 25 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2144,12 +2135,12 @@
)
)
)
(func $~lib/set/Set<u8>#get:size (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u8>#get:size (; 26 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<u8>#delete (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u8>#delete (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2252,7 +2243,7 @@
)
(i32.const 1)
)
(func $std/set/test<u8> (; 30 ;) (type $v)
(func $std/set/test<u8> (; 28 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -2640,7 +2631,7 @@
)
)
)
(func $~lib/set/Set<i16>#clear (; 31 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<i16>#clear (; 29 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -2677,7 +2668,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i16>#constructor (; 32 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i16>#constructor (; 30 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<i16>#clear
(tee_local $0
@ -2723,7 +2714,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash16 (; 33 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash16 (; 31 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(get_global $~lib/internal/hash/FNV_OFFSET)
@ -2754,7 +2745,7 @@
)
(get_local $1)
)
(func $~lib/internal/hash/hash<i16> (; 34 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<i16> (; 32 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/internal/hash/hash16
(i32.shr_s
@ -2767,7 +2758,7 @@
)
)
)
(func $~lib/set/Set<i16>#find (; 35 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<i16>#find (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -2843,7 +2834,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i16>#has (; 36 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i16>#has (; 34 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i16>#find
(get_local $0)
@ -2855,7 +2846,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i16>#rehash (; 37 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i16>#rehash (; 35 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3046,7 +3037,7 @@
)
)
)
(func $~lib/set/Set<i16>#add (; 38 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i16>#add (; 36 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3185,12 +3176,12 @@
)
)
)
(func $~lib/set/Set<i16>#get:size (; 39 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i16>#get:size (; 37 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<i16>#delete (; 40 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i16>#delete (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3296,7 +3287,7 @@
)
(i32.const 1)
)
(func $std/set/test<i16> (; 41 ;) (type $v)
(func $std/set/test<i16> (; 39 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -3684,7 +3675,7 @@
)
)
)
(func $~lib/set/Set<u16>#clear (; 42 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<u16>#clear (; 40 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -3721,7 +3712,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u16>#constructor (; 43 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u16>#constructor (; 41 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<u16>#clear
(tee_local $0
@ -3767,7 +3758,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash<u16> (; 44 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<u16> (; 42 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/internal/hash/hash16
(i32.and
@ -3777,7 +3768,7 @@
)
)
)
(func $~lib/set/Set<u16>#find (; 45 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<u16>#find (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -3850,7 +3841,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<u16>#has (; 46 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u16>#has (; 44 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<u16>#find
(get_local $0)
@ -3862,7 +3853,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u16>#rehash (; 47 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u16>#rehash (; 45 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4053,7 +4044,7 @@
)
)
)
(func $~lib/set/Set<u16>#add (; 48 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u16>#add (; 46 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4192,12 +4183,12 @@
)
)
)
(func $~lib/set/Set<u16>#get:size (; 49 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u16>#get:size (; 47 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<u16>#delete (; 50 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u16>#delete (; 48 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4300,7 +4291,7 @@
)
(i32.const 1)
)
(func $std/set/test<u16> (; 51 ;) (type $v)
(func $std/set/test<u16> (; 49 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -4688,7 +4679,7 @@
)
)
)
(func $~lib/set/Set<i32>#clear (; 52 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<i32>#clear (; 50 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -4725,7 +4716,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i32>#constructor (; 53 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i32>#constructor (; 51 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<i32>#clear
(tee_local $0
@ -4771,7 +4762,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash32 (; 54 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash32 (; 52 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(get_global $~lib/internal/hash/FNV_OFFSET)
@ -4832,14 +4823,14 @@
)
(get_local $1)
)
(func $~lib/internal/hash/hash<i32> (; 55 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<i32> (; 53 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/internal/hash/hash32
(get_local $0)
)
)
)
(func $~lib/set/Set<i32>#find (; 56 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<i32>#find (; 54 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -4909,7 +4900,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i32>#has (; 57 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i32>#has (; 55 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<i32>#find
(get_local $0)
@ -4921,7 +4912,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i32>#rehash (; 58 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i32>#rehash (; 56 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5112,7 +5103,7 @@
)
)
)
(func $~lib/set/Set<i32>#add (; 59 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i32>#add (; 57 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5251,12 +5242,12 @@
)
)
)
(func $~lib/set/Set<i32>#get:size (; 60 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i32>#get:size (; 58 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<i32>#delete (; 61 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<i32>#delete (; 59 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -5356,7 +5347,7 @@
)
(i32.const 1)
)
(func $std/set/test<i32> (; 62 ;) (type $v)
(func $std/set/test<i32> (; 60 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -5744,7 +5735,7 @@
)
)
)
(func $~lib/set/Set<u32>#clear (; 63 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<u32>#clear (; 61 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -5781,7 +5772,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u32>#constructor (; 64 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u32>#constructor (; 62 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<u32>#clear
(tee_local $0
@ -5827,14 +5818,14 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash<u32> (; 65 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash<u32> (; 63 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/internal/hash/hash32
(get_local $0)
)
)
)
(func $~lib/set/Set<u32>#find (; 66 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/set/Set<u32>#find (; 64 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -5904,7 +5895,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<u32>#has (; 67 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u32>#has (; 65 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/set/Set<u32>#find
(get_local $0)
@ -5916,7 +5907,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u32>#rehash (; 68 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u32>#rehash (; 66 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6107,7 +6098,7 @@
)
)
)
(func $~lib/set/Set<u32>#add (; 69 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u32>#add (; 67 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6246,12 +6237,12 @@
)
)
)
(func $~lib/set/Set<u32>#get:size (; 70 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u32>#get:size (; 68 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<u32>#delete (; 71 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/set/Set<u32>#delete (; 69 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -6351,7 +6342,7 @@
)
(i32.const 1)
)
(func $std/set/test<u32> (; 72 ;) (type $v)
(func $std/set/test<u32> (; 70 ;) (type $v)
(local $0 i32)
(local $1 i32)
(set_local $0
@ -6739,7 +6730,7 @@
)
)
)
(func $~lib/set/Set<i64>#clear (; 73 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<i64>#clear (; 71 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -6776,7 +6767,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i64>#constructor (; 74 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i64>#constructor (; 72 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<i64>#clear
(tee_local $0
@ -6822,7 +6813,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash64 (; 75 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/hash64 (; 73 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -6952,14 +6943,14 @@
)
(get_local $3)
)
(func $~lib/internal/hash/hash<i64> (; 76 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/hash<i64> (; 74 ;) (type $Ii) (param $0 i64) (result i32)
(return
(call $~lib/internal/hash/hash64
(get_local $0)
)
)
)
(func $~lib/set/Set<i64>#find (; 77 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(func $~lib/set/Set<i64>#find (; 75 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -7029,7 +7020,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<i64>#has (; 78 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/set/Set<i64>#has (; 76 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(i32.ne
(call $~lib/set/Set<i64>#find
(get_local $0)
@ -7041,7 +7032,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<i64>#rehash (; 79 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<i64>#rehash (; 77 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -7233,7 +7224,7 @@
)
)
)
(func $~lib/set/Set<i64>#add (; 80 ;) (type $iIv) (param $0 i32) (param $1 i64)
(func $~lib/set/Set<i64>#add (; 78 ;) (type $iIv) (param $0 i32) (param $1 i64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -7372,12 +7363,12 @@
)
)
)
(func $~lib/set/Set<i64>#get:size (; 81 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<i64>#get:size (; 79 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<i64>#delete (; 82 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/set/Set<i64>#delete (; 80 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -7477,7 +7468,7 @@
)
(i32.const 1)
)
(func $std/set/test<i64> (; 83 ;) (type $v)
(func $std/set/test<i64> (; 81 ;) (type $v)
(local $0 i32)
(local $1 i64)
(set_local $0
@ -7865,7 +7856,7 @@
)
)
)
(func $~lib/set/Set<u64>#clear (; 84 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<u64>#clear (; 82 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -7902,7 +7893,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u64>#constructor (; 85 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u64>#constructor (; 83 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<u64>#clear
(tee_local $0
@ -7948,14 +7939,14 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash<u64> (; 86 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/hash/hash<u64> (; 84 ;) (type $Ii) (param $0 i64) (result i32)
(return
(call $~lib/internal/hash/hash64
(get_local $0)
)
)
)
(func $~lib/set/Set<u64>#find (; 87 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(func $~lib/set/Set<u64>#find (; 85 ;) (type $iIii) (param $0 i32) (param $1 i64) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -8025,7 +8016,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<u64>#has (; 88 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/set/Set<u64>#has (; 86 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(i32.ne
(call $~lib/set/Set<u64>#find
(get_local $0)
@ -8037,7 +8028,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<u64>#rehash (; 89 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<u64>#rehash (; 87 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -8229,7 +8220,7 @@
)
)
)
(func $~lib/set/Set<u64>#add (; 90 ;) (type $iIv) (param $0 i32) (param $1 i64)
(func $~lib/set/Set<u64>#add (; 88 ;) (type $iIv) (param $0 i32) (param $1 i64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -8368,12 +8359,12 @@
)
)
)
(func $~lib/set/Set<u64>#get:size (; 91 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<u64>#get:size (; 89 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<u64>#delete (; 92 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(func $~lib/set/Set<u64>#delete (; 90 ;) (type $iIi) (param $0 i32) (param $1 i64) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -8473,7 +8464,7 @@
)
(i32.const 1)
)
(func $std/set/test<u64> (; 93 ;) (type $v)
(func $std/set/test<u64> (; 91 ;) (type $v)
(local $0 i32)
(local $1 i64)
(set_local $0
@ -8861,7 +8852,7 @@
)
)
)
(func $~lib/set/Set<f32>#clear (; 94 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<f32>#clear (; 92 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -8898,7 +8889,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<f32>#constructor (; 95 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<f32>#constructor (; 93 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<f32>#clear
(tee_local $0
@ -8944,7 +8935,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash<f32> (; 96 ;) (type $fi) (param $0 f32) (result i32)
(func $~lib/internal/hash/hash<f32> (; 94 ;) (type $fi) (param $0 f32) (result i32)
(return
(call $~lib/internal/hash/hash32
(i32.reinterpret/f32
@ -8953,7 +8944,7 @@
)
)
)
(func $~lib/set/Set<f32>#find (; 97 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(func $~lib/set/Set<f32>#find (; 95 ;) (type $ifii) (param $0 i32) (param $1 f32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -9023,7 +9014,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<f32>#has (; 98 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/set/Set<f32>#has (; 96 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(i32.ne
(call $~lib/set/Set<f32>#find
(get_local $0)
@ -9035,7 +9026,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<f32>#rehash (; 99 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<f32>#rehash (; 97 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -9229,7 +9220,7 @@
)
)
)
(func $~lib/set/Set<f32>#add (; 100 ;) (type $ifv) (param $0 i32) (param $1 f32)
(func $~lib/set/Set<f32>#add (; 98 ;) (type $ifv) (param $0 i32) (param $1 f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -9368,12 +9359,12 @@
)
)
)
(func $~lib/set/Set<f32>#get:size (; 101 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<f32>#get:size (; 99 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<f32>#delete (; 102 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(func $~lib/set/Set<f32>#delete (; 100 ;) (type $ifi) (param $0 i32) (param $1 f32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -9475,7 +9466,7 @@
)
(i32.const 1)
)
(func $std/set/test<f32> (; 103 ;) (type $v)
(func $std/set/test<f32> (; 101 ;) (type $v)
(local $0 i32)
(local $1 f32)
(set_local $0
@ -9863,7 +9854,7 @@
)
)
)
(func $~lib/set/Set<f64>#clear (; 104 ;) (type $iv) (param $0 i32)
(func $~lib/set/Set<f64>#clear (; 102 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -9900,7 +9891,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<f64>#constructor (; 105 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<f64>#constructor (; 103 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/set/Set<f64>#clear
(tee_local $0
@ -9946,7 +9937,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hash<f64> (; 106 ;) (type $Fi) (param $0 f64) (result i32)
(func $~lib/internal/hash/hash<f64> (; 104 ;) (type $Fi) (param $0 f64) (result i32)
(return
(call $~lib/internal/hash/hash64
(i64.reinterpret/f64
@ -9955,7 +9946,7 @@
)
)
)
(func $~lib/set/Set<f64>#find (; 107 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(func $~lib/set/Set<f64>#find (; 105 ;) (type $iFii) (param $0 i32) (param $1 f64) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -10025,7 +10016,7 @@
)
(i32.const 0)
)
(func $~lib/set/Set<f64>#has (; 108 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/set/Set<f64>#has (; 106 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(i32.ne
(call $~lib/set/Set<f64>#find
(get_local $0)
@ -10037,7 +10028,7 @@
(i32.const 0)
)
)
(func $~lib/set/Set<f64>#rehash (; 109 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/set/Set<f64>#rehash (; 107 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -10231,7 +10222,7 @@
)
)
)
(func $~lib/set/Set<f64>#add (; 110 ;) (type $iFv) (param $0 i32) (param $1 f64)
(func $~lib/set/Set<f64>#add (; 108 ;) (type $iFv) (param $0 i32) (param $1 f64)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -10370,12 +10361,12 @@
)
)
)
(func $~lib/set/Set<f64>#get:size (; 111 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/set/Set<f64>#get:size (; 109 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=20
(get_local $0)
)
)
(func $~lib/set/Set<f64>#delete (; 112 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/set/Set<f64>#delete (; 110 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -10477,7 +10468,7 @@
)
(i32.const 1)
)
(func $std/set/test<f64> (; 113 ;) (type $v)
(func $std/set/test<f64> (; 111 ;) (type $v)
(local $0 i32)
(local $1 f64)
(set_local $0
@ -10865,7 +10856,7 @@
)
)
)
(func $start (; 114 ;) (type $v)
(func $start (; 112 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -3,7 +3,6 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $i (func (result i32)))
(type $iiI (func (param i32 i32) (result i64)))
(type $iiIv (func (param i32 i32 i64)))
(type $iif (func (param i32 i32) (result f32)))
@ -411,15 +410,7 @@
(get_local $2)
)
)
(func $~lib/memory/memory.size (; 6 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 7 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 8 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -451,14 +442,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -486,7 +477,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -505,12 +496,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 9 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 7 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 10 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 8 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -539,7 +530,7 @@
)
(get_local $1)
)
(func $~lib/memory/memcpy (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1925,7 +1916,7 @@
)
)
)
(func $~lib/memory/memmove (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -2217,14 +2208,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/internal/arraybuffer/reallocUnsafe (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/arraybuffer/reallocUnsafe (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -2348,7 +2339,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#__set (; 15 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#__set (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -2415,7 +2406,7 @@
(get_local $2)
)
)
(func $~lib/array/Array<i64>#__get (; 16 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64)
(func $~lib/array/Array<i64>#__get (; 14 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64)
(if (result i64)
(i32.lt_u
(get_local $1)
@ -2442,7 +2433,7 @@
(unreachable)
)
)
(func $~lib/array/Array<i64>#__set (; 17 ;) (type $iiIv) (param $0 i32) (param $1 i32) (param $2 i64)
(func $~lib/array/Array<i64>#__set (; 15 ;) (type $iiIv) (param $0 i32) (param $1 i32) (param $2 i64)
(local $3 i32)
(local $4 i32)
(if
@ -2509,7 +2500,7 @@
(get_local $2)
)
)
(func $~lib/array/Array<f32>#__get (; 18 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(func $~lib/array/Array<f32>#__get (; 16 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(if (result f32)
(i32.lt_u
(get_local $1)
@ -2536,7 +2527,7 @@
(unreachable)
)
)
(func $~lib/array/Array<f32>#__set (; 19 ;) (type $iifv) (param $0 i32) (param $1 i32) (param $2 f32)
(func $~lib/array/Array<f32>#__set (; 17 ;) (type $iifv) (param $0 i32) (param $1 i32) (param $2 f32)
(local $3 i32)
(local $4 i32)
(if
@ -2603,7 +2594,7 @@
(get_local $2)
)
)
(func $~lib/array/Array<f64>#__get (; 20 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(func $~lib/array/Array<f64>#__get (; 18 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(if (result f64)
(i32.lt_u
(get_local $1)
@ -2630,7 +2621,7 @@
(unreachable)
)
)
(func $~lib/array/Array<f64>#__set (; 21 ;) (type $iiFv) (param $0 i32) (param $1 i32) (param $2 f64)
(func $~lib/array/Array<f64>#__set (; 19 ;) (type $iiFv) (param $0 i32) (param $1 i32) (param $2 f64)
(local $3 i32)
(local $4 i32)
(if
@ -2697,7 +2688,7 @@
(get_local $2)
)
)
(func $start (; 22 ;) (type $v)
(func $start (; 20 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 272)
)

@ -3,7 +3,6 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $i (func (result i32)))
(type $iiI (func (param i32 i32) (result i64)))
(type $iiIv (func (param i32 i32 i64)))
(type $iif (func (param i32 i32) (result f32)))
@ -447,15 +446,7 @@
(get_local $2)
)
)
(func $~lib/memory/memory.size (; 6 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 7 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 8 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -491,7 +482,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -536,14 +527,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -563,14 +554,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 9 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 7 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 10 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 8 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
@ -602,7 +593,7 @@
)
(get_local $1)
)
(func $~lib/memory/memcpy (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2404,7 +2395,7 @@
)
)
)
(func $~lib/memory/memmove (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 10 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(if
(i32.eq
@ -2722,14 +2713,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/internal/arraybuffer/reallocUnsafe (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/arraybuffer/reallocUnsafe (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(set_local $2
@ -2859,7 +2850,7 @@
)
(get_local $0)
)
(func $~lib/array/Array<i32>#__set (; 15 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/array/Array<i32>#__set (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -2934,12 +2925,12 @@
)
)
)
(func $~lib/array/Array<i64>#get:length (; 16 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/array/Array<i64>#get:length (; 14 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=4
(get_local $0)
)
)
(func $~lib/array/Array<i64>#__get (; 17 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64)
(func $~lib/array/Array<i64>#__get (; 15 ;) (type $iiI) (param $0 i32) (param $1 i32) (result i64)
(local $2 i32)
(set_local $2
(i32.load
@ -2970,7 +2961,7 @@
(unreachable)
)
)
(func $~lib/array/Array<i64>#__set (; 18 ;) (type $iiIv) (param $0 i32) (param $1 i32) (param $2 i64)
(func $~lib/array/Array<i64>#__set (; 16 ;) (type $iiIv) (param $0 i32) (param $1 i32) (param $2 i64)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -3045,12 +3036,12 @@
)
)
)
(func $~lib/array/Array<f32>#get:length (; 19 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/array/Array<f32>#get:length (; 17 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=4
(get_local $0)
)
)
(func $~lib/array/Array<f32>#__get (; 20 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(func $~lib/array/Array<f32>#__get (; 18 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32)
(local $2 i32)
(set_local $2
(i32.load
@ -3081,7 +3072,7 @@
(unreachable)
)
)
(func $~lib/array/Array<f32>#__set (; 21 ;) (type $iifv) (param $0 i32) (param $1 i32) (param $2 f32)
(func $~lib/array/Array<f32>#__set (; 19 ;) (type $iifv) (param $0 i32) (param $1 i32) (param $2 f32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -3156,12 +3147,12 @@
)
)
)
(func $~lib/array/Array<f64>#get:length (; 22 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/array/Array<f64>#get:length (; 20 ;) (type $ii) (param $0 i32) (result i32)
(i32.load offset=4
(get_local $0)
)
)
(func $~lib/array/Array<f64>#__get (; 23 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(func $~lib/array/Array<f64>#__get (; 21 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
(local $2 i32)
(set_local $2
(i32.load
@ -3192,7 +3183,7 @@
(unreachable)
)
)
(func $~lib/array/Array<f64>#__set (; 24 ;) (type $iiFv) (param $0 i32) (param $1 i32) (param $2 f64)
(func $~lib/array/Array<f64>#__set (; 22 ;) (type $iiFv) (param $0 i32) (param $1 i32) (param $2 f64)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -3267,7 +3258,7 @@
)
)
)
(func $start (; 25 ;) (type $v)
(func $start (; 23 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -1,7 +1,6 @@
(module
(type $ii (func (param i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -161,15 +160,7 @@
)
(get_local $1)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -201,14 +192,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -236,7 +227,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -255,12 +246,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/string/String#toUTF8 (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/string/String#toUTF8 (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -546,15 +537,15 @@
)
(get_local $5)
)
(func $~lib/allocator/arena/__memory_free (; 7 ;) (type $iv) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 5 ;) (type $iv) (param $0 i32)
(nop)
)
(func $~lib/memory/memory.free (; 8 ;) (type $iv) (param $0 i32)
(func $~lib/memory/memory.free (; 6 ;) (type $iv) (param $0 i32)
(call $~lib/allocator/arena/__memory_free
(get_local $0)
)
)
(func $start (; 9 ;) (type $v)
(func $start (; 7 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 64)
)

@ -1,7 +1,6 @@
(module
(type $ii (func (param i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $v (func))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
@ -178,15 +177,7 @@
)
(get_local $1)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -222,7 +213,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -267,14 +258,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -294,14 +285,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/string/String#toUTF8 (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/string/String#toUTF8 (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -613,16 +604,16 @@
)
(get_local $1)
)
(func $~lib/allocator/arena/__memory_free (; 7 ;) (type $iv) (param $0 i32)
(func $~lib/allocator/arena/__memory_free (; 5 ;) (type $iv) (param $0 i32)
(nop)
)
(func $~lib/memory/memory.free (; 8 ;) (type $iv) (param $0 i32)
(func $~lib/memory/memory.free (; 6 ;) (type $iv) (param $0 i32)
(call $~lib/allocator/arena/__memory_free
(get_local $0)
)
(return)
)
(func $start (; 9 ;) (type $v)
(func $start (; 7 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -1293,15 +1293,7 @@
(get_local $4)
)
)
(func $~lib/memory/memory.size (; 15 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 16 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 17 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 15 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -1333,14 +1325,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -1368,7 +1360,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -1387,12 +1379,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 18 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 16 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/string/allocate (; 19 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/string/allocate (; 17 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(tee_local $1
@ -1438,7 +1430,7 @@
)
(get_local $1)
)
(func $~lib/memory/memcpy (; 20 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 18 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2824,7 +2816,7 @@
)
)
)
(func $~lib/memory/memmove (; 21 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 19 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(if
@ -3116,14 +3108,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 22 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 20 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/string/String#concat (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3209,7 +3201,7 @@
)
(get_local $2)
)
(func $~lib/string/String.__concat (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -3223,7 +3215,7 @@
(get_local $1)
)
)
(func $~lib/string/String.__eq (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eq
@ -3286,7 +3278,7 @@
)
)
)
(func $~lib/string/String.__ne (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__ne (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.eqz
(call $~lib/string/String.__eq
(get_local $0)
@ -3294,7 +3286,7 @@
)
)
)
(func $~lib/string/String.__gt (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gt (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -3378,7 +3370,7 @@
(i32.const 0)
)
)
(func $~lib/string/String.__gte (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gte (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -3462,7 +3454,7 @@
(i32.const 0)
)
)
(func $~lib/string/String.__lt (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__lt (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -3546,7 +3538,7 @@
(i32.const 0)
)
)
(func $~lib/string/String.__lte (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__lte (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -3630,7 +3622,7 @@
(i32.const 0)
)
)
(func $~lib/string/String#repeat (; 31 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#repeat (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3768,7 +3760,7 @@
)
(get_local $4)
)
(func $~lib/internal/itoa/decimalCountU32 (; 32 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/itoa/decimalCountU32 (; 30 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(set_local $2
@ -3808,7 +3800,7 @@
(i32.const 1)
)
)
(func $~lib/internal/itoa/utoa32_lut (; 33 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/itoa/utoa32_lut (; 31 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -3969,7 +3961,7 @@
)
)
)
(func $~lib/internal/itoa/itoa32 (; 34 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/itoa/itoa32 (; 32 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4020,7 +4012,7 @@
)
(get_local $2)
)
(func $~lib/internal/itoa/utoa32 (; 35 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/itoa/utoa32 (; 33 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(if
@ -4046,7 +4038,7 @@
)
(get_local $2)
)
(func $~lib/internal/itoa/decimalCountU64 (; 36 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/itoa/decimalCountU64 (; 34 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i64)
(set_local $2
@ -4094,7 +4086,7 @@
(i32.const 1)
)
)
(func $~lib/internal/itoa/utoa64_lut (; 37 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/internal/itoa/utoa64_lut (; 35 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4240,7 +4232,7 @@
(get_local $2)
)
)
(func $~lib/internal/itoa/utoa64 (; 38 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/itoa/utoa64 (; 36 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4290,7 +4282,7 @@
)
(get_local $2)
)
(func $~lib/internal/itoa/itoa64 (; 39 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/itoa/itoa64 (; 37 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4368,7 +4360,7 @@
)
(get_local $3)
)
(func $start (; 40 ;) (type $v)
(func $start (; 38 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 2520)
)

@ -25,7 +25,7 @@
(global $std/string/str (mut i32) (i32.const 12))
(global $std/string/nullStr (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $i32.MAX_VALUE i32 (i32.const 2147483647))
(global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43))
(global $~lib/internal/string/CharCode.MINUS i32 (i32.const 45))
@ -54,10 +54,10 @@
(global $~lib/internal/string/CharCode.z i32 (i32.const 122))
(global $std/string/c (mut i32) (i32.const 0))
(global $ASC_SHRINK_LEVEL i32 (i32.const 0))
(global $u32.MAX_VALUE i32 (i32.const -1))
(global $u64.MAX_VALUE i64 (i64.const -1))
(global $i64.MAX_VALUE i64 (i64.const 9223372036854775807))
(global $i64.MIN_VALUE i64 (i64.const -9223372036854775808))
(global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1))
(global $~lib/builtins/u64.MAX_VALUE i64 (i64.const -1))
(global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807))
(global $~lib/builtins/i64.MIN_VALUE i64 (i64.const -9223372036854775808))
(global $HEAP_BASE i32 (i32.const 2516))
(memory $0 1)
(data (i32.const 8) "\00\00\00\00")
@ -814,7 +814,7 @@
(unreachable)
)
(set_local $2
(get_global $i32.MAX_VALUE)
(get_global $~lib/builtins/i32.MAX_VALUE)
)
)
(call $~lib/string/String#lastIndexOf
@ -1499,15 +1499,7 @@
(get_local $5)
)
)
(func $~lib/memory/memory.size (; 15 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 16 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 17 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 15 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -1543,7 +1535,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -1588,14 +1580,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -1615,14 +1607,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 18 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 16 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/string/allocate (; 19 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/string/allocate (; 17 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(if
@ -1668,7 +1660,7 @@
)
(get_local $2)
)
(func $~lib/memory/memcpy (; 20 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memcpy (; 18 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -3470,7 +3462,7 @@
)
)
)
(func $~lib/memory/memmove (; 21 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memmove (; 19 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(if
(i32.eq
@ -3788,14 +3780,14 @@
)
)
)
(func $~lib/memory/memory.copy (; 22 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 20 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memmove
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/string/String#concat (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3892,7 +3884,7 @@
)
(get_local $5)
)
(func $~lib/string/String.__concat (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 22 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -3906,7 +3898,7 @@
(get_local $1)
)
)
(func $~lib/string/String.__eq (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -3969,7 +3961,7 @@
)
)
)
(func $~lib/string/String.__ne (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__ne (; 24 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.eqz
(call $~lib/string/String.__eq
(get_local $0)
@ -3977,7 +3969,7 @@
)
)
)
(func $~lib/string/String.__gt (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gt (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4068,7 +4060,7 @@
(i32.const 0)
)
)
(func $~lib/string/String.__gte (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gte (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4161,7 +4153,7 @@
(i32.const 0)
)
)
(func $~lib/string/String.__lt (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__lt (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4252,7 +4244,7 @@
(i32.const 0)
)
)
(func $~lib/string/String.__lte (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__lte (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4345,7 +4337,7 @@
(i32.const 0)
)
)
(func $~lib/string/String#repeat (; 31 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#repeat (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4489,7 +4481,7 @@
)
(get_local $4)
)
(func $~lib/internal/itoa/decimalCountU32 (; 32 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/itoa/decimalCountU32 (; 30 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4545,7 +4537,7 @@
(i32.const 1)
)
)
(func $~lib/internal/itoa/utoa32_lut (; 33 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/itoa/utoa32_lut (; 31 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -4764,7 +4756,7 @@
)
)
)
(func $~lib/internal/itoa/itoa32 (; 34 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/itoa/itoa32 (; 32 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4820,7 +4812,7 @@
)
(get_local $3)
)
(func $~lib/internal/itoa/utoa32 (; 35 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/itoa/utoa32 (; 33 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(if
@ -4850,7 +4842,7 @@
)
(get_local $2)
)
(func $~lib/internal/itoa/decimalCountU64 (; 36 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/itoa/decimalCountU64 (; 34 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4918,7 +4910,7 @@
(i32.const 1)
)
)
(func $~lib/internal/itoa/utoa64_lut (; 37 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/internal/itoa/utoa64_lut (; 35 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i32)
(local $4 i64)
(local $5 i32)
@ -5112,7 +5104,7 @@
(get_local $2)
)
)
(func $~lib/internal/itoa/utoa64 (; 38 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/itoa/utoa64 (; 36 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -5128,7 +5120,7 @@
(i64.le_u
(get_local $0)
(i64.extend_u/i32
(get_global $u32.MAX_VALUE)
(get_global $~lib/builtins/u32.MAX_VALUE)
)
)
(block
@ -5177,7 +5169,7 @@
)
(get_local $1)
)
(func $~lib/internal/itoa/itoa64 (; 39 ;) (type $Ii) (param $0 i64) (result i32)
(func $~lib/internal/itoa/itoa64 (; 37 ;) (type $Ii) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -5209,7 +5201,7 @@
(i64.le_u
(get_local $0)
(i64.extend_u/i32
(get_global $u32.MAX_VALUE)
(get_global $~lib/builtins/u32.MAX_VALUE)
)
)
(block
@ -5271,7 +5263,7 @@
)
(get_local $2)
)
(func $start (; 40 ;) (type $v)
(func $start (; 38 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add
@ -7010,7 +7002,7 @@
(i32.eqz
(call $~lib/string/String.__eq
(call $~lib/internal/itoa/utoa32
(get_global $u32.MAX_VALUE)
(get_global $~lib/builtins/u32.MAX_VALUE)
)
(i32.const 1372)
)
@ -7219,7 +7211,7 @@
(i32.eqz
(call $~lib/string/String.__eq
(call $~lib/internal/itoa/utoa64
(get_global $u64.MAX_VALUE)
(get_global $~lib/builtins/u64.MAX_VALUE)
)
(i32.const 2204)
)
@ -7409,7 +7401,7 @@
(i32.eqz
(call $~lib/string/String.__eq
(call $~lib/internal/itoa/itoa64
(get_global $i64.MAX_VALUE)
(get_global $~lib/builtins/i64.MAX_VALUE)
)
(i32.const 2428)
)
@ -7428,7 +7420,7 @@
(i32.eqz
(call $~lib/string/String.__eq
(call $~lib/internal/itoa/itoa64
(get_global $i64.MIN_VALUE)
(get_global $~lib/builtins/i64.MIN_VALUE)
)
(i32.const 2472)
)

@ -1,7 +1,6 @@
(module
(type $ii (func (param i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiv (func (param i32 i32 i32)))
@ -46,15 +45,7 @@
)
(get_local $0)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -86,14 +77,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -121,7 +112,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -140,12 +131,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/computeSize (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 4 ;) (type $ii) (param $0 i32) (result i32)
(i32.shl
(i32.const 1)
(i32.sub
@ -159,7 +150,7 @@
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 5 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -188,7 +179,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -518,14 +509,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -565,7 +556,7 @@
)
(get_local $3)
)
(func $~lib/map/Map<String,usize>#clear (; 11 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<String,usize>#clear (; 9 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -599,7 +590,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<String,usize>#constructor (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<String,usize>#constructor (; 10 ;) (type $ii) (param $0 i32) (result i32)
(if
(i32.eqz
(get_local $0)
@ -640,7 +631,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hashStr (; 13 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hashStr (; 11 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -688,7 +679,7 @@
)
(get_local $2)
)
(func $~lib/memory/memcmp (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memcmp (; 12 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eq
@ -758,14 +749,14 @@
)
)
)
(func $~lib/memory/memory.compare (; 15 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memory.compare (; 13 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call $~lib/memory/memcmp
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/string/String.__eq (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.eq
@ -828,7 +819,7 @@
)
)
)
(func $~lib/map/Map<String,usize>#find (; 17 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<String,usize>#find (; 15 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -891,7 +882,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<String,usize>#has (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<String,usize>#has (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<String,usize>#find
(get_local $0)
@ -903,7 +894,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<String,usize>#get (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<String,usize>#get (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -922,7 +913,7 @@
)
)
)
(func $~lib/map/Map<String,usize>#rehash (; 20 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<String,usize>#rehash (; 18 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1085,7 +1076,7 @@
)
)
)
(func $~lib/map/Map<String,usize>#set (; 21 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<String,usize>#set (; 19 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1222,7 +1213,7 @@
)
)
)
(func $~lib/internal/hash/hash32 (; 22 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash32 (; 20 ;) (type $ii) (param $0 i32) (result i32)
(i32.mul
(i32.xor
(i32.mul
@ -1267,7 +1258,7 @@
(i32.const 16777619)
)
)
(func $~lib/map/Map<usize,String>#find (; 23 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<usize,String>#find (; 21 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_local $2
(i32.load offset=8
(i32.add
@ -1330,7 +1321,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<usize,String>#rehash (; 24 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,String>#rehash (; 22 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1493,7 +1484,7 @@
)
)
)
(func $~lib/map/Map<usize,String>#set (; 25 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<usize,String>#set (; 23 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1630,7 +1621,7 @@
)
)
)
(func $~lib/symbol/Symbol.for (; 26 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/symbol/Symbol.for (; 24 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(get_global $~lib/symbol/stringToId)
@ -1685,7 +1676,7 @@
)
(get_local $1)
)
(func $~lib/map/Map<usize,String>#has (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#has (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<usize,String>#find
(get_local $0)
@ -1697,7 +1688,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<usize,String>#get (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#get (; 26 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(tee_local $0
(if (result i32)
(tee_local $0
@ -1716,7 +1707,7 @@
)
)
)
(func $~lib/symbol/Symbol.keyFor (; 29 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/symbol/Symbol.keyFor (; 27 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(tee_local $1
@ -1743,7 +1734,7 @@
)
)
)
(func $start (; 30 ;) (type $v)
(func $start (; 28 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.const 160)
)

@ -1,7 +1,6 @@
(module
(type $ii (func (param i32) (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $i (func (result i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiv (func (param i32 i32 i32)))
@ -71,15 +70,7 @@
)
(get_local $2)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -115,7 +106,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -160,14 +151,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -187,14 +178,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/arraybuffer/computeSize (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/computeSize (; 4 ;) (type $ii) (param $0 i32) (result i32)
(i32.shl
(i32.const 1)
(i32.sub
@ -211,7 +202,7 @@
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 7 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 5 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
@ -243,7 +234,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -595,14 +586,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer#constructor (; 8 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.gt_u
@ -642,7 +633,7 @@
)
(get_local $3)
)
(func $~lib/map/Map<String,usize>#clear (; 11 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<String,usize>#clear (; 9 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -679,7 +670,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<String,usize>#constructor (; 12 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<String,usize>#constructor (; 10 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<String,usize>#clear
(tee_local $0
@ -725,7 +716,7 @@
)
(get_local $0)
)
(func $~lib/map/Map<usize,String>#clear (; 13 ;) (type $iv) (param $0 i32)
(func $~lib/map/Map<usize,String>#clear (; 11 ;) (type $iv) (param $0 i32)
(i32.store
(get_local $0)
(call $~lib/arraybuffer/ArrayBuffer#constructor
@ -762,7 +753,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<usize,String>#constructor (; 14 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/map/Map<usize,String>#constructor (; 12 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(call $~lib/map/Map<usize,String>#clear
(tee_local $0
@ -808,7 +799,7 @@
)
(get_local $0)
)
(func $~lib/internal/hash/hashStr (; 15 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hashStr (; 13 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -863,7 +854,7 @@
)
(get_local $1)
)
(func $~lib/memory/memcmp (; 16 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memcmp (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(if
(i32.eq
@ -933,14 +924,14 @@
(i32.const 0)
)
)
(func $~lib/memory/memory.compare (; 17 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/memory/memory.compare (; 15 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call $~lib/memory/memcmp
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/string/String.__eq (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(if
@ -1003,7 +994,7 @@
)
)
)
(func $~lib/map/Map<String,usize>#find (; 19 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<String,usize>#find (; 17 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -1073,7 +1064,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<String,usize>#has (; 20 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<String,usize>#has (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<String,usize>#find
(get_local $0)
@ -1089,7 +1080,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<String,usize>#get (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<String,usize>#get (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<String,usize>#find
@ -1112,7 +1103,7 @@
(unreachable)
)
)
(func $~lib/map/Map<String,usize>#rehash (; 22 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<String,usize>#rehash (; 20 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1309,7 +1300,7 @@
)
)
)
(func $~lib/map/Map<String,usize>#set (; 23 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<String,usize>#set (; 21 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1458,7 +1449,7 @@
)
)
)
(func $~lib/internal/hash/hash32 (; 24 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/hash/hash32 (; 22 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(set_local $1
(get_global $~lib/internal/hash/FNV_OFFSET)
@ -1519,7 +1510,7 @@
)
(get_local $1)
)
(func $~lib/map/Map<usize,String>#find (; 25 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<usize,String>#find (; 23 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $3
@ -1589,7 +1580,7 @@
)
(i32.const 0)
)
(func $~lib/map/Map<usize,String>#rehash (; 26 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,String>#rehash (; 24 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1786,7 +1777,7 @@
)
)
)
(func $~lib/map/Map<usize,String>#set (; 27 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<usize,String>#set (; 25 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1935,7 +1926,7 @@
)
)
)
(func $~lib/symbol/Symbol.for (; 28 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/symbol/Symbol.for (; 26 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(if
@ -1999,7 +1990,7 @@
)
(get_local $2)
)
(func $~lib/map/Map<usize,String>#has (; 29 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#has (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.ne
(call $~lib/map/Map<usize,String>#find
(get_local $0)
@ -2015,7 +2006,7 @@
(i32.const 0)
)
)
(func $~lib/map/Map<usize,String>#get (; 30 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,String>#get (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(set_local $2
(call $~lib/map/Map<usize,String>#find
@ -2038,7 +2029,7 @@
(unreachable)
)
)
(func $~lib/symbol/Symbol.keyFor (; 31 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/symbol/Symbol.keyFor (; 29 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if (result i32)
(if (result i32)
@ -2061,7 +2052,7 @@
(i32.const 0)
)
)
(func $start (; 32 ;) (type $v)
(func $start (; 30 ;) (type $v)
(set_global $~lib/allocator/arena/startOffset
(i32.and
(i32.add

@ -3,7 +3,6 @@
(type $iv (func (param i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $v (func))
@ -32,15 +31,7 @@
)
)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -72,14 +63,14 @@
)
(i32.shl
(tee_local $2
(call $~lib/memory/memory.size)
(current_memory)
)
(i32.const 16)
)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(select
(get_local $2)
(tee_local $3
@ -107,7 +98,7 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $3)
)
(i32.const 0)
@ -126,12 +117,12 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.gt_u
@ -160,7 +151,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i64)
(if
@ -490,14 +481,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/internal/typedarray/TypedArray<i8,i32>#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i8,i32>#constructor (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.gt_u
@ -563,7 +554,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<i16,i32>#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i16,i32>#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.gt_u
@ -634,7 +625,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.gt_u
@ -705,7 +696,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<i64,i64>#constructor (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i64,i64>#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.gt_u
@ -776,7 +767,7 @@
)
(get_local $0)
)
(func $std/typedarray/testInstantiate (; 13 ;) (type $iv) (param $0 i32)
(func $std/typedarray/testInstantiate (; 11 ;) (type $iv) (param $0 i32)
(local $1 i32)
(if
(i32.load offset=4
@ -1465,7 +1456,7 @@
)
)
)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__set (; 14 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__set (; 12 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(if
(i32.ge_u
@ -1510,7 +1501,7 @@
(get_local $2)
)
)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__get (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__get (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.ge_u
@ -1554,7 +1545,7 @@
)
)
)
(func $~lib/typedarray/Int32Array#subarray (; 16 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/typedarray/Int32Array#subarray (; 14 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(set_local $4
@ -1665,7 +1656,7 @@
)
(get_local $3)
)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__set (; 17 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__set (; 15 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(if
(i32.ge_u
@ -1704,7 +1695,7 @@
(get_local $2)
)
)
(func $~lib/typedarray/Uint8ClampedArray#__set (; 18 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/typedarray/Uint8ClampedArray#__set (; 16 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(call $~lib/internal/typedarray/TypedArray<u8,u32>#__set
(get_local $0)
@ -1728,7 +1719,7 @@
)
)
)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__get (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__get (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(if
(i32.ge_u
@ -1766,7 +1757,7 @@
)
)
)
(func $start (; 20 ;) (type $v)
(func $start (; 18 ;) (type $v)
(local $0 i32)
(set_global $~lib/allocator/arena/startOffset
(i32.const 168)

@ -3,7 +3,6 @@
(type $iv (func (param i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $ii (func (param i32) (result i32)))
(type $i (func (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $v (func))
@ -54,15 +53,7 @@
)
)
)
(func $~lib/memory/memory.size (; 2 ;) (type $i) (result i32)
(current_memory)
)
(func $~lib/memory/memory.grow (; 3 ;) (type $ii) (param $0 i32) (result i32)
(grow_memory
(get_local $0)
)
)
(func $~lib/allocator/arena/__memory_allocate (; 4 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/allocator/arena/__memory_allocate (; 2 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -98,7 +89,7 @@
)
)
(set_local $3
(call $~lib/memory/memory.size)
(current_memory)
)
(if
(i32.gt_u
@ -143,14 +134,14 @@
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $5)
)
(i32.const 0)
)
(if
(i32.lt_s
(call $~lib/memory/memory.grow
(grow_memory
(get_local $4)
)
(i32.const 0)
@ -170,14 +161,14 @@
)
(i32.const 0)
)
(func $~lib/memory/memory.allocate (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/memory/memory.allocate (; 3 ;) (type $ii) (param $0 i32) (result i32)
(return
(call $~lib/allocator/arena/__memory_allocate
(get_local $0)
)
)
)
(func $~lib/internal/arraybuffer/allocUnsafe (; 6 ;) (type $ii) (param $0 i32) (result i32)
(func $~lib/internal/arraybuffer/allocUnsafe (; 4 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(if
(i32.eqz
@ -209,7 +200,7 @@
)
(get_local $1)
)
(func $~lib/memory/memset (; 7 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memset (; 5 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i64)
@ -561,14 +552,14 @@
)
)
)
(func $~lib/memory/memory.fill (; 8 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 6 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(call $~lib/memory/memset
(get_local $0)
(get_local $1)
(get_local $2)
)
)
(func $~lib/internal/typedarray/TypedArray<i8,i32>#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i8,i32>#constructor (; 7 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -647,7 +638,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -726,7 +717,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<i16,i32>#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i16,i32>#constructor (; 9 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -805,7 +796,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<u16,u32>#constructor (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u16,u32>#constructor (; 10 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -884,7 +875,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#constructor (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#constructor (; 11 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -963,7 +954,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<u32,u32>#constructor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u32,u32>#constructor (; 12 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1042,7 +1033,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<i64,i64>#constructor (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i64,i64>#constructor (; 13 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1121,7 +1112,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<u64,u64>#constructor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u64,u64>#constructor (; 14 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1200,7 +1191,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<f32,f32>#constructor (; 17 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<f32,f32>#constructor (; 15 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1279,7 +1270,7 @@
)
(get_local $0)
)
(func $~lib/internal/typedarray/TypedArray<f64,f64>#constructor (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<f64,f64>#constructor (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1358,7 +1349,7 @@
)
(get_local $0)
)
(func $std/typedarray/testInstantiate (; 19 ;) (type $iv) (param $0 i32)
(func $std/typedarray/testInstantiate (; 17 ;) (type $iv) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -2207,7 +2198,7 @@
)
)
)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__set (; 20 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__set (; 18 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2263,7 +2254,7 @@
)
)
)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__get (; 21 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<i32,i32>#__get (; 19 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2318,7 +2309,7 @@
)
)
)
(func $~lib/typedarray/Int32Array#subarray (; 22 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/typedarray/Int32Array#subarray (; 20 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2451,7 +2442,7 @@
(get_local $4)
)
)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__set (; 23 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__set (; 21 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2507,7 +2498,7 @@
)
)
)
(func $~lib/typedarray/Uint8ClampedArray#__set (; 24 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/typedarray/Uint8ClampedArray#__set (; 22 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(call $~lib/internal/typedarray/TypedArray<u8,u32>#__set
@ -2538,7 +2529,7 @@
)
)
)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__get (; 25 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/internal/typedarray/TypedArray<u8,u32>#__get (; 23 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2593,7 +2584,7 @@
)
)
)
(func $start (; 26 ;) (type $v)
(func $start (; 24 ;) (type $v)
(local $0 i32)
(if
(i32.eqz