Export the trampoline and provide a helper for functions that take optional arguments

This commit is contained in:
dcodeIO
2018-04-17 16:04:29 +02:00
parent 4929fca363
commit 4026c087fd
22 changed files with 296 additions and 206 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -227,7 +227,9 @@ export class Compiler extends DiagnosticEmitter {
/** Function table being compiled. */
functionTable: Function[] = new Array();
/** Argument count helper global. */
argumentCountRef: GlobalRef = 0;
argcVar: GlobalRef = 0;
/** Argument count helper setter. */
argcSet: FunctionRef = 0;
/** Compiles a {@link Program} to a {@link Module} using the specified options. */
static compile(program: Program, options: Options | null = null): Module {
@ -923,6 +925,22 @@ export class Compiler extends DiagnosticEmitter {
// check module-level export
if (instance.is(CommonFlags.MODULE_EXPORT)) {
if (signature.requiredParameters < signature.parameterTypes.length) {
// export the trampoline if the function takes optional parameters
instance = this.ensureTrampoline(instance);
if (!this.argcSet) {
this.ensureArgumentCount(0);
this.argcSet = module.addFunction("~setargc",
this.ensureFunctionType([ Type.u32 ], Type.void),
null,
module.createSetGlobal("~argc",
module.createGetLocal(0, NativeType.I32)
)
);
// export a helper to set argc prior to calling it
module.addFunctionExport("~setargc", "_setargc");
}
}
module.addFunctionExport(instance.internalName, mangleExportName(instance));
}
@ -5035,10 +5053,10 @@ export class Compiler extends DiagnosticEmitter {
minArguments
? module.createBinary(
BinaryOp.SubI32,
module.createGetGlobal("argumentCount", NativeType.I32),
module.createGetGlobal("~argc", NativeType.I32),
module.createI32(minArguments)
)
: module.createGetGlobal("argumentCount", NativeType.I32)
: module.createGetGlobal("~argc", NativeType.I32)
)
]),
module.createUnreachable()
@ -5211,18 +5229,18 @@ export class Compiler extends DiagnosticEmitter {
], returnType.toNativeType());
}
/** Makes sure that the `argumentCount` helper global is present and returns an expression that sets it. */
/** Makes sure that the argument count helper global is present and returns an expression that sets it. */
private ensureArgumentCount(argumentCount: i32): ExpressionRef {
var module = this.module;
if (!this.argumentCountRef) {
this.argumentCountRef = module.addGlobal(
"argumentCount",
if (!this.argcVar) {
this.argcVar = module.addGlobal(
"~argc",
NativeType.I32,
true,
module.createI32(0)
);
}
return module.createSetGlobal("argumentCount", module.createI32(argumentCount));
return module.createSetGlobal("~argc", module.createI32(argumentCount));
}
compileCommaExpression(expression: CommaExpression, contextualType: Type): ExpressionRef {

View File

@ -3,7 +3,7 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $call-optional/optIndirect (mut i32) (i32.const 0))
(table 1 1 anyfunc)
(elem (i32.const 0) $call-optional/opt|trampoline)
@ -28,7 +28,7 @@
(block $oob
(br_table $0of2 $1of2 $2of2 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -52,7 +52,7 @@
(func $start (; 3 ;) (type $v)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $call-optional/opt|trampoline
@ -73,7 +73,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.ne
@ -116,7 +116,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call_indirect (type $iiii)
@ -138,7 +138,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.ne
@ -163,7 +163,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(i32.ne

View File

@ -3,7 +3,7 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $call-optional/optIndirect (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 40))
(table 1 1 anyfunc)
@ -31,7 +31,7 @@
(block $oob
(br_table $0of2 $1of2 $2of2 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -57,7 +57,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $call-optional/opt|trampoline
@ -83,7 +83,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call $call-optional/opt|trampoline
@ -130,7 +130,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call_indirect (type $iiii)
@ -157,7 +157,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iiii)
@ -184,7 +184,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)

View File

@ -1,9 +1,10 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $iv (func (param i32)))
(type $i (func (result i32)))
(type $ii (func (param i32) (result i32)))
(type $iiv (func (param i32 i32)))
(type $iv (func (param i32)))
(global $~argc (mut i32) (i32.const 0))
(global $exports/Animal.CAT i32 (i32.const 0))
(global $exports/Animal.DOG i32 (i32.const 1))
(global $exports/animals.Animal.CAT i32 (i32.const 0))
@ -13,7 +14,9 @@
(global $exports/outer.inner.a i32 (i32.const 42))
(memory $0 1)
(export "add" (func $exports/add))
(export "math.sub" (func $exports/math.sub))
(export "_setargc" (func $~setargc))
(export "subOpt" (func $exports/subOpt|trampoline))
(export "math.sub" (func $exports/subOpt))
(export "Animal.CAT" (global $exports/Animal.CAT))
(export "Animal.DOG" (global $exports/Animal.DOG))
(export "animals.Animal.CAT" (global $exports/animals.Animal.CAT))
@ -40,27 +43,54 @@
(get_local $1)
)
)
(func $exports/math.sub (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/subOpt (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(i32.sub
(get_local $0)
(get_local $1)
)
)
(func $exports/Car.getNumTires (; 2 ;) (type $i) (result i32)
(func $exports/subOpt|trampoline (; 2 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(block $1of1
(block $0of1
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $~argc)
(i32.const 1)
)
)
)
(unreachable)
)
(set_local $1
(i32.const 0)
)
)
(call $exports/subOpt
(get_local $0)
(get_local $1)
)
)
(func $~setargc (; 3 ;) (type $iv) (param $0 i32)
(set_global $~argc
(get_local $0)
)
)
(func $exports/Car.getNumTires (; 4 ;) (type $i) (result i32)
(i32.const 4)
)
(func $Car#get:doors (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $Car#get:doors (; 5 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $Car#set:doors (; 4 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $Car#set:doors (; 6 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/Car#openDoors (; 5 ;) (type $iv) (param $0 i32)
(func $exports/Car#openDoors (; 7 ;) (type $iv) (param $0 i32)
(nop)
)
)

View File

@ -3,6 +3,10 @@ export function add(a: i32, b: i32): i32 {
return a + b;
}
export function subOpt(a: i32, b: i32 = 0): i32 {
return a - b;
}
// namespaced function
export namespace math {
export function sub(a: i32, b: i32): i32 {

View File

@ -1,9 +1,10 @@
(module
(type $iii (func (param i32 i32) (result i32)))
(type $iv (func (param i32)))
(type $i (func (result i32)))
(type $ii (func (param i32) (result i32)))
(type $iiv (func (param i32 i32)))
(type $iv (func (param i32)))
(global $~argc (mut i32) (i32.const 0))
(global $exports/Animal.CAT i32 (i32.const 0))
(global $exports/Animal.DOG i32 (i32.const 1))
(global $exports/animals.Animal.CAT i32 (i32.const 0))
@ -14,6 +15,8 @@
(global $HEAP_BASE i32 (i32.const 4))
(memory $0 1)
(export "add" (func $exports/add))
(export "_setargc" (func $~setargc))
(export "subOpt" (func $exports/subOpt|trampoline))
(export "math.sub" (func $exports/math.sub))
(export "Animal.CAT" (global $exports/Animal.CAT))
(export "Animal.DOG" (global $exports/Animal.DOG))
@ -43,7 +46,7 @@
)
)
)
(func $exports/math.sub (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(func $exports/subOpt (; 1 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(return
(i32.sub
(get_local $0)
@ -51,66 +54,101 @@
)
)
)
(func $exports/Car.getNumTires (; 2 ;) (type $i) (result i32)
(func $exports/subOpt|trampoline (; 2 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(block $1of1
(block $0of1
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $~argc)
(i32.const 1)
)
)
)
(unreachable)
)
(set_local $1
(i32.const 0)
)
)
(call $exports/subOpt
(get_local $0)
(get_local $1)
)
)
(func $~setargc (; 3 ;) (type $iv) (param $0 i32)
(set_global $~argc
(get_local $0)
)
)
(func $exports/math.sub (; 4 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(return
(i32.sub
(get_local $0)
(get_local $1)
)
)
)
(func $exports/Car.getNumTires (; 5 ;) (type $i) (result i32)
(return
(i32.const 4)
)
)
(func $Car#get:doors (; 3 ;) (type $ii) (param $0 i32) (result i32)
(func $Car#get:doors (; 6 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $Car#set:doors (; 4 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $Car#set:doors (; 7 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/Car#get:numDoors (; 5 ;) (type $ii) (param $0 i32) (result i32)
(func $exports/Car#get:numDoors (; 8 ;) (type $ii) (param $0 i32) (result i32)
(return
(i32.load
(get_local $0)
)
)
)
(func $exports/Car#set:numDoors (; 6 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $exports/Car#set:numDoors (; 9 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/Car#openDoors (; 7 ;) (type $iv) (param $0 i32)
(func $exports/Car#openDoors (; 10 ;) (type $iv) (param $0 i32)
)
(func $exports/vehicles.Car.getNumTires (; 8 ;) (type $i) (result i32)
(func $exports/vehicles.Car.getNumTires (; 11 ;) (type $i) (result i32)
(return
(i32.const 4)
)
)
(func $vehicles.Car#get:doors (; 9 ;) (type $ii) (param $0 i32) (result i32)
(func $vehicles.Car#get:doors (; 12 ;) (type $ii) (param $0 i32) (result i32)
(i32.load
(get_local $0)
)
)
(func $vehicles.Car#set:doors (; 10 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $vehicles.Car#set:doors (; 13 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/vehicles.Car#get:numDoors (; 11 ;) (type $ii) (param $0 i32) (result i32)
(func $exports/vehicles.Car#get:numDoors (; 14 ;) (type $ii) (param $0 i32) (result i32)
(return
(i32.load
(get_local $0)
)
)
)
(func $exports/vehicles.Car#set:numDoors (; 12 ;) (type $iiv) (param $0 i32) (param $1 i32)
(func $exports/vehicles.Car#set:numDoors (; 15 ;) (type $iiv) (param $0 i32) (param $1 i32)
(i32.store
(get_local $0)
(get_local $1)
)
)
(func $exports/vehicles.Car#openDoors (; 13 ;) (type $iv) (param $0 i32)
(func $exports/vehicles.Car#openDoors (; 16 ;) (type $iv) (param $0 i32)
)
)

View File

@ -5,7 +5,7 @@
(type $i (func (result i32)))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $function-expression/f1 (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $function-expression/f2 (mut i32) (i32.const 1))
(global $function-expression/f3 (mut i32) (i32.const 2))
(global $function-expression/f4 (mut i32) (i32.const 3))
@ -28,7 +28,7 @@
(func $start (; 4 ;) (type $v)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.ne
@ -51,7 +51,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.ne
@ -72,7 +72,7 @@
(unreachable)
)
)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call_indirect (type $v)
@ -80,7 +80,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(i32.ne

View File

@ -5,7 +5,7 @@
(type $i (func (result i32)))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $function-expression/f1 (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $function-expression/f2 (mut i32) (i32.const 1))
(global $function-expression/f3 (mut i32) (i32.const 2))
(global $function-expression/f4 (mut i32) (i32.const 3))
@ -37,7 +37,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call_indirect (type $ii)
@ -62,7 +62,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call_indirect (type $ii)
@ -84,7 +84,7 @@
)
)
(block
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call_indirect (type $v)
@ -95,7 +95,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call_indirect (type $i)

View File

@ -8,7 +8,7 @@
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $function-types/i32Adder (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $function-types/i64Adder (mut i32) (i32.const 0))
(table 4 4 anyfunc)
(elem (i32.const 0) $function-types/makeAdder<i32>~anonymous|0 $function-types/makeAdder<i64>~anonymous|1 $function-types/makeAdder<f64>~anonymous|2 $function-types/makeAdder<i32>~anonymous|0)
@ -45,7 +45,7 @@
(i32.const 2)
)
(func $function-types/doAddWithFn<i32> (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -55,7 +55,7 @@
)
)
(func $function-types/doAdd<i32> (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -70,7 +70,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 2)
)
)
@ -93,7 +93,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.ne
@ -120,7 +120,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i64.ne
@ -144,7 +144,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(f64.ne
@ -224,7 +224,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.ne

View File

@ -8,7 +8,7 @@
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $function-types/i32Adder (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $function-types/i64Adder (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 44))
(table 4 4 anyfunc)
@ -60,7 +60,7 @@
(func $function-types/doAddWithFn<i32> (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(return
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -74,7 +74,7 @@
(func $function-types/doAdd<i32> (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
(return
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -96,7 +96,7 @@
(func $function-types/makeAndAdd<i32> (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(return
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -113,7 +113,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 2)
)
)
@ -139,7 +139,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -168,7 +168,7 @@
(i32.eqz
(i64.eq
(block (result i64)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $III)
@ -194,7 +194,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $FFF)
@ -282,7 +282,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call $function-types/makeAndAdd<i32>|trampoline

View File

@ -4,7 +4,7 @@
(type $v (func))
(type $ii (func (param i32) (result i32)))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(table 1 1 anyfunc)
(elem (i32.const 0) $inlining/test_funcs~anonymous|0)
(memory $0 1)
@ -172,7 +172,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.ne

View File

@ -5,7 +5,7 @@
(type $ii (func (param i32) (result i32)))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $inlining/constantGlobal i32 (i32.const 1))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 32))
(table 1 1 anyfunc)
(elem (i32.const 0) $inlining/test_funcs~anonymous|0)
@ -311,7 +311,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call_indirect (type $ii)

View File

@ -4,7 +4,7 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(memory $0 1)
(data (i32.const 4) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s")
(data (i32.const 40) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s")
@ -223,7 +223,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -241,7 +241,7 @@
)
)
(func $std/array-access/stringArrayMethodCall (; 7 ;) (type $ii) (param $0 i32) (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#startsWith|trampoline
@ -265,7 +265,7 @@
)
)
(func $std/array-access/stringArrayArrayMethodCall (; 9 ;) (type $ii) (param $0 i32) (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#startsWith|trampoline

View File

@ -10,7 +10,7 @@
(global $~lib/internal/allocator/AL_MASK i32 (i32.const 7))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/string/HEADER_SIZE i32 (i32.const 4))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 84))
(memory $0 1)
(data (i32.const 4) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00")
@ -389,7 +389,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -409,7 +409,7 @@
(func $std/array-access/stringArrayMethodCall (; 9 ;) (type $ii) (param $0 i32) (result i32)
(return
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#startsWith|trampoline
@ -494,7 +494,7 @@
(func $std/array-access/stringArrayArrayMethodCall (; 12 ;) (type $ii) (param $0 i32) (result i32)
(return
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#startsWith|trampoline

View File

@ -15,7 +15,7 @@
(import "JSMath" "random" (func $~lib/math/JSMath.random (result f64)))
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $std/array/arr (mut i32) (i32.const 0))
(global $std/array/i (mut i32) (i32.const 0))
(global $std/array/includes (mut i32) (i32.const 0))
@ -260,7 +260,7 @@
(block $0of1
(block $oob
(br_table $0of1 $1of1 $oob
(get_global $argumentCount)
(get_global $~argc)
)
)
(unreachable)
@ -3110,7 +3110,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -3224,7 +3224,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -3453,7 +3453,7 @@
(block
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
@ -3566,7 +3566,7 @@
(block
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(i32.eqz
@ -3681,7 +3681,7 @@
(block
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
@ -3795,7 +3795,7 @@
(i32.const 1)
)
(block
(set_global $argumentCount
(set_global $~argc
(i32.const 4)
)
(set_local $4
@ -4166,7 +4166,7 @@
)
)
)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(br_if $break|1
@ -4358,7 +4358,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.lt_s
@ -4546,7 +4546,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.lt_s
@ -4697,7 +4697,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.lt_s
@ -4763,7 +4763,7 @@
(block
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.gt_s
@ -4895,7 +4895,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 2)
)
)
@ -5445,7 +5445,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 2)
)
)
@ -5759,7 +5759,7 @@
)
(set_global $std/array/arr
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call $~lib/array/Array<i32>#constructor|trampoline
@ -6716,7 +6716,7 @@
)
(set_global $std/array/i
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#indexOf|trampoline
@ -6740,7 +6740,7 @@
)
(set_global $std/array/i
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#indexOf|trampoline
@ -6767,7 +6767,7 @@
)
(set_global $std/array/i
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#indexOf|trampoline
@ -6948,7 +6948,7 @@
)
(set_global $std/array/includes
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#includes|trampoline
@ -6975,7 +6975,7 @@
)
(set_global $std/array/includes
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#includes|trampoline
@ -7002,7 +7002,7 @@
)
(set_global $std/array/includes
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#includes|trampoline
@ -8029,7 +8029,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.eqz
@ -8055,7 +8055,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.eqz
@ -8081,7 +8081,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.eqz
@ -8239,7 +8239,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(i32.eqz

View File

@ -22,7 +22,7 @@
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $std/array/arr (mut i32) (i32.const 0))
(global $std/array/i (mut i32) (i32.const 0))
(global $std/array/includes (mut i32) (i32.const 0))
@ -308,7 +308,7 @@
(block $0of1
(block $oob
(br_table $0of1 $1of1 $oob
(get_global $argumentCount)
(get_global $~argc)
)
)
(unreachable)
@ -3657,7 +3657,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -3791,7 +3791,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -4054,7 +4054,7 @@
(block
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
@ -4200,7 +4200,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
@ -4340,7 +4340,7 @@
(block
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 3)
)
(call_indirect (type $iiii)
@ -4483,7 +4483,7 @@
(block
(set_local $3
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 4)
)
(call_indirect (type $iiiii)
@ -4598,7 +4598,7 @@
(block
(set_local $3
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 4)
)
(call_indirect (type $iiiii)
@ -5058,7 +5058,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -5315,7 +5315,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -5613,7 +5613,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -5892,7 +5892,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -5995,7 +5995,7 @@
(if
(i32.gt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -6143,7 +6143,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 2)
)
)
@ -6561,7 +6561,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -6816,7 +6816,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -7114,7 +7114,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -7393,7 +7393,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -7496,7 +7496,7 @@
(if
(i32.gt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -7895,7 +7895,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -8150,7 +8150,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -8448,7 +8448,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -8727,7 +8727,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -8885,7 +8885,7 @@
(if
(i32.gt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -9324,7 +9324,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -9579,7 +9579,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -9877,7 +9877,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -10156,7 +10156,7 @@
(if
(i32.lt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -10314,7 +10314,7 @@
(if
(i32.gt_s
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call_indirect (type $iii)
@ -10530,7 +10530,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 2)
)
)
@ -11053,7 +11053,7 @@
)
(set_global $std/array/arr
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call $~lib/array/Array<i32>#constructor|trampoline
@ -12121,7 +12121,7 @@
)
(set_global $std/array/i
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#indexOf|trampoline
@ -12150,7 +12150,7 @@
)
(set_global $std/array/i
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#indexOf|trampoline
@ -12179,7 +12179,7 @@
)
(set_global $std/array/i
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#indexOf|trampoline
@ -12376,7 +12376,7 @@
)
(set_global $std/array/includes
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#includes|trampoline
@ -12405,7 +12405,7 @@
)
(set_global $std/array/includes
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#includes|trampoline
@ -12434,7 +12434,7 @@
)
(set_global $std/array/includes
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/array/Array<i32>#includes|trampoline
@ -13575,7 +13575,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call $std/array/isArraysEqual<i32>|trampoline
@ -13601,7 +13601,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call $std/array/isArraysEqual<i32>|trampoline
@ -13627,7 +13627,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call $std/array/isArraysEqual<i32>|trampoline
@ -13785,7 +13785,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 2)
)
(call $std/array/isArraysEqual<String>|trampoline

View File

@ -9,7 +9,7 @@
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/arraybuffer/buffer (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $std/arraybuffer/sliced (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 148))
(memory $0 1)
@ -2498,7 +2498,7 @@
(block $0of2
(block $oob
(br_table $0of2 $1of2 $2of2 $oob
(get_global $argumentCount)
(get_global $~argc)
)
)
(unreachable)
@ -2555,7 +2555,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -2599,7 +2599,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -2628,7 +2628,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -2753,7 +2753,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline

View File

@ -16,7 +16,7 @@
(global $~lib/internal/arraybuffer/HEADER_SIZE i32 (i32.const 8))
(global $~lib/internal/arraybuffer/MAX_BLENGTH i32 (i32.const 1073741816))
(global $std/arraybuffer/buffer (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $std/arraybuffer/sliced (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 148))
(memory $0 1)
@ -2828,7 +2828,7 @@
(block $0of2
(block $oob
(br_table $0of2 $1of2 $2of2 $oob
(get_global $argumentCount)
(get_global $~argc)
)
)
(unreachable)
@ -2890,7 +2890,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -2938,7 +2938,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -2969,7 +2969,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline
@ -3104,7 +3104,7 @@
)
(set_global $std/arraybuffer/sliced
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/arraybuffer/ArrayBuffer#slice|trampoline

View File

@ -13,7 +13,7 @@
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/string/str (mut i32) (i32.const 4))
(global $std/string/nullStr (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $std/string/c (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 520))
(memory $0 1)
@ -244,7 +244,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -352,7 +352,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -490,7 +490,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -513,7 +513,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -910,7 +910,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -3826,7 +3826,7 @@
(block $0of1
(block $oob
(br_table $0of1 $1of1 $oob
(get_global $argumentCount)
(get_global $~argc)
)
)
(unreachable)
@ -3905,7 +3905,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.eqz
@ -3928,7 +3928,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.eqz
@ -3951,7 +3951,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.eqz
@ -3974,7 +3974,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.ne
@ -3998,7 +3998,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(i32.ne
@ -4022,7 +4022,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4045,7 +4045,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4068,7 +4068,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4091,7 +4091,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4114,7 +4114,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4137,7 +4137,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4160,7 +4160,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4183,7 +4183,7 @@
)
(if
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(f64.ne
@ -4679,7 +4679,7 @@
(i32.eqz
(call $~lib/string/String.__eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call $~lib/string/String#repeat|trampoline

View File

@ -19,7 +19,7 @@
(global $std/string/str (mut i32) (i32.const 4))
(global $std/string/nullStr (mut i32) (i32.const 0))
(global $~lib/internal/string/HEADER_SIZE i32 (i32.const 4))
(global $argumentCount (mut i32) (i32.const 0))
(global $~argc (mut i32) (i32.const 0))
(global $~lib/internal/string/MAX_LENGTH i32 (i32.const 536870910))
(global $NaN f64 (f64.const nan:0x8000000000000))
(global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43))
@ -309,7 +309,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -436,7 +436,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -600,7 +600,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -623,7 +623,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -1069,7 +1069,7 @@
(block $oob
(br_table $0of1 $1of1 $oob
(i32.sub
(get_global $argumentCount)
(get_global $~argc)
(i32.const 1)
)
)
@ -4401,7 +4401,7 @@
(block $0of1
(block $oob
(br_table $0of1 $1of1 $oob
(get_global $argumentCount)
(get_global $~argc)
)
)
(unreachable)
@ -4490,7 +4490,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#startsWith|trampoline
@ -4513,7 +4513,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#endsWith|trampoline
@ -4536,7 +4536,7 @@
(if
(i32.eqz
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#includes|trampoline
@ -4560,7 +4560,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#indexOf|trampoline
@ -4586,7 +4586,7 @@
(i32.eqz
(i32.eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/String#indexOf|trampoline
@ -4612,7 +4612,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -4637,7 +4637,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -4662,7 +4662,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -4687,7 +4687,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -4712,7 +4712,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -4737,7 +4737,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -4762,7 +4762,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -4787,7 +4787,7 @@
(i32.eqz
(f64.eq
(block (result f64)
(set_global $argumentCount
(set_global $~argc
(i32.const 1)
)
(call $~lib/string/parseInt|trampoline
@ -5323,7 +5323,7 @@
(i32.eqz
(call $~lib/string/String.__eq
(block (result i32)
(set_global $argumentCount
(set_global $~argc
(i32.const 0)
)
(call $~lib/string/String#repeat|trampoline